|
0e040c03
|
2013-03-03T14:50:47
|
|
indexer: use a hashtable for keeping track of offsets
These offsets are needed for REF_DELTA objects, which encode which
object they use as a base, but not where it lies in the packfile, so
we need a list.
These objects are mostly from older packfiles, before OFS_DELTA was
widely spread. The time spent in indexing these packfiles is greatly
reduced, though remains above what git is able to do.
|
|
29ab8774
|
2013-03-03T06:38:33
|
|
Merge pull request #1387 from carlosmn/kill-indexer
indexer: kill git_indexer
|
|
447ae791
|
2013-03-03T15:19:21
|
|
indexer: kill git_indexer
This was the first implementation and its goal was simply to have
something that worked. It is slow and now it's just taking up
space. Remove it and switch the one known usage to use the streaming
indexer.
|
|
bb19532c
|
2013-03-02T14:29:39
|
|
Merge pull request #1386 from arrbee/update-docs
Update contributing and conventions
|
|
a313de0d
|
2013-03-02T13:58:05
|
|
Fixed a couple typos
|
|
7bd53bf3
|
2013-03-02T13:52:38
|
|
Simplify diff example using revparse
When the examples/diff.c was written, there was not yet a revparse
API. Now we can use it to make command line parsing way better
with less code. Yay!
|
|
1631147c
|
2013-03-02T13:51:31
|
|
Updates to CONTRIBUTING and CONVENTIONS
The discussion about converting some of our foreach-style APIs to
use iterator objects got me wanting to make a list of good starter
projects. I put it in CONTRIBUTING.md and then went crazy with
updates to that file and to CONVENTIONS.md.
|
|
01be7863
|
2013-03-01T14:28:47
|
|
Merge pull request #1382 from arrbee/fix-diff-patch-a-different-way
Allow empty config object and use it for tests
|
|
487fc724
|
2013-03-01T13:41:53
|
|
Allow empty config object and use it
This removes assertions that prevent us from having an empty
git_config object and then updates some tests that were
dependent on global config state to use an empty config before
running anything.
|
|
47f70846
|
2013-03-01T13:27:46
|
|
Merge pull request #1379 from arrbee/fix-tests-with-autocrlf-input-on-windows
Control for core.autocrlf during testing
|
|
7d46b34b
|
2013-03-01T12:26:05
|
|
Control for core.autocrlf during testing
|
|
426b2e2f
|
2013-03-01T12:10:06
|
|
Merge pull request #1378 from jamill/clone_no_delete
Clone should not clean up directories it did not create
|
|
926acbcf
|
2013-03-01T11:07:53
|
|
Clone should not delete directories it did not create
|
|
cc427158
|
2013-02-28T15:09:32
|
|
Merge pull request #1373 from arrbee/why-cdecl-why
Why cdecl why?
|
|
f443a72d
|
2013-02-28T14:41:26
|
|
Fix some deprecation warnings on Windows
This fixes some snprintf and vsnprintf related deprecation
warnings we've been having on Windows with recent compilers.
|
|
97b71374
|
2013-02-28T14:14:45
|
|
Add GIT_STDLIB_CALL
This removes the one-off GIT_CDECL and adds a new standard way of
doing this named GIT_STDLIB_CALL with a src/win32 specific def
when on the Windows platform.
|
|
5fa8abb8
|
2013-02-28T17:36:20
|
|
w32-posix: Wrap the `timezone` declaration with a clause
Allows compilation in newer versions of MinGW that already defined it.
|
|
f708c89f
|
2013-02-27T15:15:39
|
|
fixing some warnings on Windows
|
|
11b5beb7
|
2013-02-27T15:07:28
|
|
use cdecl for hashsig sorting functions on Windows
|
|
e68e33f3
|
2013-02-27T14:50:32
|
|
Merge pull request #1233 from arrbee/file-similarity-metric
Add file similarity scoring to diff rename/copy detection
|
|
9f9477d6
|
2013-02-27T14:21:41
|
|
Merge pull request #1372 from ethomson/checkout_workdir_end
don't dereference at the end of the workdir iterator
|
|
395509ff
|
2013-02-27T14:47:39
|
|
don't dereference at the end of the workdir iterator
|
|
c493f821
|
2013-02-27T11:01:16
|
|
Merge pull request #1371 from csware/version-constants
Win32: Use constants in version resource definitions where possible
|
|
82ac1f76
|
2013-02-27T19:48:02
|
|
Win32: Use constants in version resource definitions where possible
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
69903777
|
2013-02-26T09:29:27
|
|
Merge pull request #1368 from scunz/inc_ref
Increment reference counter in git_repository_set_config
|
|
25e7c9b7
|
2013-02-26T18:21:03
|
|
Increment reference counter in git_repository_set_config
This fixes #1365
|
|
3e212548
|
2013-02-26T07:06:42
|
|
Merge pull request #1364 from martinwoodward/thank-martin
Give props to Martin Pool
|
|
5c46937b
|
2013-02-26T09:00:37
|
|
Give props to Martin Pool
Martin Pool was the original author of the code referenced in the clone
example. Make note that he's given his permission and also give him the
proper credit.
|
|
8005c6d4
|
2013-02-26T01:03:56
|
|
Revert "hash: remove git_hash_init from internal api"
This reverts commit efe7fad6c96a3d6197a218aeaa561ec676794499, except for
the indentation fixes.
|
|
f657688b
|
2013-02-25T15:41:56
|
|
Merge pull request #1363 from schu/hash-initialization
hash: remove git_hash_init from internal api
|
|
efe7fad6
|
2013-02-26T00:05:28
|
|
hash: remove git_hash_init from internal api
Along with that, fix indentation in tests-clar/object/raw/hash.c
|
|
be225be7
|
2013-02-25T23:36:25
|
|
tests/pack: fixup 6774b10
Initialize the hash ctx with git_hash_ctx_init, not git_hash_init.
|
|
989abe9b
|
2013-02-25T14:03:42
|
|
Merge pull request #1362 from schu/packbuilder-nits
packbuilder: minor improvements
|
|
6774b107
|
2013-02-17T17:52:16
|
|
tests/pack: do strict check of testpack's SHA1 hash
|
|
fcc265fe
|
2013-02-17T16:52:26
|
|
pack.h: improve docs on how to create a packfile
|
|
25a0831f
|
2013-02-25T09:07:45
|
|
Merge pull request #1359 from martinwoodward/remove-sample-hooks
Remove sample hook files
|
|
fc6c5b50
|
2013-02-25T17:03:05
|
|
Remove sample hook files
Getting rid of sample hook files from test repos as they just take up
space with no value.
|
|
5eeb357d
|
2013-02-23T03:39:11
|
|
Merge pull request #1355 from phkelley/development
Portability fixes for Solaris
|
|
68fec637
|
2013-02-22T12:26:01
|
|
Merge pull request #1356 from arrbee/fix-directory-as-ignore-file
Do not fail if .gitignore is directory
|
|
37d91686
|
2013-02-22T12:21:54
|
|
Do not fail if .gitignore is directory
This is designed to fix libgit2sharp #350 where if .gitignore is
a directory we abort all operations that process ignores instead
of just skipping it as core git does.
Also added test that fails without this change and passes with it.
|
|
1be4ba98
|
2013-02-22T11:13:01
|
|
More rename detection tests
This includes tests for crlf changes, whitespace changes with the
default comparison and with the ignore whitespace comparison, and
more sensitivity checking for the comparison code.
|
|
7beeb3f4
|
2013-02-22T14:03:44
|
|
Rename 'exp' so it doesn't conflict with exp()
|
|
0a008913
|
2013-02-22T10:21:02
|
|
Minor improvements to find_similar code
This moves a couple of checks outside of the inner loop of the
find_similar rename/copy detection phase that are only dependent
on the "from" side of a detection.
Also, this replaces the inefficient initialization of the
options structure when a value is not provided explicitly by the
user.
|
|
f8275890
|
2013-02-22T10:19:50
|
|
Replace static data with configured metric
Instead of creating three git_diff_similarity_metric statically
for the various config options, just create the metric structure
on demand and populate it, using the payload to specific the
extra flags that should be passed to the hashsig. This removes
a level of obfuscation from the code, I think.
|
|
6f9d5ce8
|
2013-02-22T10:17:08
|
|
Fix tests for find_similar and related
This fixes both a test that I broke in diff::patch where I was
relying on the current state of the working directory for the
renames test data and fixes an unstable test in diff::rename
where the environment setting for the "diff.renames" config was
being allowed to influence the test results.
|
|
06eaa06f
|
2013-02-22T09:48:47
|
|
Merge pull request #1343 from nulltoken/topic/remote_orphaned_branch
Teach git_branch_remote_name() to work with orphaned heads
|
|
698bf1da
|
2013-02-22T09:48:34
|
|
Merge pull request #1354 from nulltoken/fix/stash-drop
Fix git_stash_drop()
|
|
6c72035f
|
2013-02-22T12:23:14
|
|
Portability fixes for Solaris
|
|
bbc53e4f
|
2013-02-15T12:43:03
|
|
branch: refactor git_branch_remote_name() tests
|
|
c1b5e8c4
|
2013-02-15T11:35:33
|
|
branch: Make git_branch_remote_name() cope with orphaned heads
|
|
9ccab8df
|
2013-02-22T15:25:06
|
|
stash: Update the reference when dropping the topmost stash
|
|
39bcb4de
|
2013-02-22T14:44:57
|
|
stash: Refactor stash::drop tests
|
|
d788499a
|
2013-02-22T15:02:37
|
|
ignore: enhance git_ignore_path_is_ignored() test coverage
|
|
d4b747c1
|
2013-02-21T16:44:44
|
|
Add diff rename tests with partial similarity
This adds some new tests that actually exercise the similarity
metric between files to detect renames, copies, and split modified
files that are too heavily modified.
There is still more testing to do - these tests are just partially
covering the cases.
There is also one bug fix in this where a change set with only
MODIFY being broken into ADD/DELETE (due to low self-similarity)
without any additional RENAMED entries would end up not processing
the split requests (because the num_rewrites counter got reset).
|
|
960a04dd
|
2013-02-21T12:40:33
|
|
Initial integration of similarity metric to diff
This is the initial integration of the similarity metric into
the `git_diff_find_similar()` code path. The existing tests all
pass, but the new functionality isn't currently well tested. The
integration does go through the pluggable metric interface, so it
should be possible to drop in an alternative to the internal
metric that libgit2 implements.
This comes along with a behavior change for an existing interface;
namely, passing two NULLs to git_diff_blobs (or passing NULLs to
git_diff_blob_to_buffer) will now call the file_cb parameter zero
times instead of one time. I know it's strange that that change
is paired with this other change, but it emerged from some
initialization changes that I ended up making.
|
|
0309e850
|
2013-02-21T09:05:48
|
|
Merge pull request #1352 from ethomson/reuc_sort
add a sorter to the reuc on index creation
|
|
eb5ffd19
|
2013-02-21T11:00:29
|
|
add a sorter to the reuc on index creation
|
|
71a3d27e
|
2013-02-08T10:06:47
|
|
Replace diff delta binary with flags
Previously the git_diff_delta recorded if the delta was binary.
This replaces that (with no net change in structure size) with
a full set of flags. The flag values that were already in use
for individual git_diff_file objects are reused for the delta
flags, too (along with renaming those flags to make it clear that
they are used more generally).
This (a) makes things somewhat more consistent (because I was
using a -1 value in the "boolean" binary field to indicate unset,
whereas now I can just use the flags that are easier to understand),
and (b) will make it easier for me to add some additional flags to
the delta object in the future, such as marking the results of a
copy/rename detection or other deltas that might want a special
indicator.
While making this change, I officially moved some of the flags that
were internal only into the private diff header.
This also allowed me to remove a gross hack in rename/copy detect
code where I was overwriting the status field with an internal
value.
|
|
9bc8be3d
|
2013-02-19T10:25:41
|
|
Refine pluggable similarity API
This plugs in the three basic similarity strategies for handling
whitespace via internal use of the pluggable API. In so doing, I
realized that the use of git_buf in the hashsig API was not needed
and actually just made it harder to use, so I tweaked that API as
well.
Note that the similarity metric is still not hooked up in the
find_similarity code - this is just setting out the function that
will be used.
|
|
a235e9d3
|
2013-02-15T14:12:43
|
|
Pluggable similarity metric API
|
|
aa643260
|
2013-02-15T11:08:02
|
|
More tests of file signatures with whitespace opts
Seems to be working pretty well...
|
|
f3327cac
|
2013-01-13T10:06:09
|
|
Some similarity metric adjustments
This makes the text similarity metric treat \r as equivalent
to \n and makes it skip whitespace immediately following a line
terminator, so line indentation will have less effect on the
difference measurement (and so \r\n will be treated as just a
single line terminator).
This also separates the text and binary hash calculators into
two separate functions instead of have more if statements inside
the loop. This should make it easier to have more differentiated
heuristics in the future if we so wish.
|
|
9c454b00
|
2013-01-11T22:13:02
|
|
Initial implementation of similarity scoring algo
This adds a new `git_buf_text_hashsig` type and functions to
generate these hash signatures and compare them to give a
similarity score. This can be plugged into diff similarity
scoring.
|
|
5e5848eb
|
2013-02-14T17:25:10
|
|
Change similarity metric to sampled hashes
This moves the similarity metric code out of buf_text and into a
new file. Also, this implements a different approach to similarity
measurement based on a Rabin-Karp rolling hash where we only keep
the top 100 and bottom 100 hashes. In theory, that should be
sufficient samples to given a fairly accurate measurement while
limiting the amount of data we keep for file signatures no matter
how large the file is.
|
|
99ba8f23
|
2013-01-22T15:27:08
|
|
wip: adding metric to diff
|
|
f2e1d060
|
2013-02-20T12:00:51
|
|
Merge pull request #1351 from arrbee/moar-treebuilder-tests
Add more treebuilder tests
|
|
0cfce06d
|
2013-02-20T11:58:21
|
|
Add more treebuilder tests
The recent changes with git_treebuilder_entrycount point out that
the test coverage for git_treebuilder_remove and
git_treebuilder_entrycount is completely absent. This adds tests.
|
|
6ec37f72
|
2013-02-20T11:42:15
|
|
Merge pull request #1350 from arrbee/fix-1292
Add explicit entrycount to tree builder
|
|
e2237179
|
2013-02-20T10:58:56
|
|
Some code cleanups in tree.c
This replaces most of the explicit vector iteration with calls
to git_vector_foreach, adds in some git__free and giterr_clear
calls to clean up during some error paths, and a couple of
other code simplifications.
|
|
93ab370b
|
2013-02-20T10:50:01
|
|
Store treebuilder length separately from entries vec
The treebuilder entries vector flags removed items which means
we can't rely on the entries vector length to accurately get the
number of entries. This adds an entrycount value and maintains it
while updating the treebuilder entries.
|
|
f7511c2c
|
2013-02-20T10:19:58
|
|
Merge pull request #1348 from libgit2/signatures-2
Simplify signature parsing
|
|
fd48d843
|
2013-02-20T10:07:14
|
|
Merge pull request #1349 from libgit2/clar-no-cache
Disable caching in Clar
|
|
63964c89
|
2013-02-20T18:49:00
|
|
Disable caching in Clar
|
|
cf80993a
|
2013-02-20T18:46:10
|
|
signature: Small cleanup
|
|
41051e3f
|
2013-02-20T17:09:51
|
|
signature: Shut up MSVC, you silly goose
|
|
c51880ee
|
2013-02-20T17:03:18
|
|
Simplify signature parsing
|
|
fd69c7bf
|
2013-02-17T02:41:58
|
|
Merge pull request #1344 from arrbee/fix-static-analyzer-issues
Fix static analyzer issues
|
|
56543a60
|
2013-02-15T16:02:45
|
|
Clear up warnings from cppcheck
The cppcheck static analyzer generates warnings for a bunch of
places in the libgit2 code base. All the ones fixed in this
commit are actually false positives, but I've reorganized the
code to hopefully make it easier for static analysis tools to
correctly understand the structure. I wouldn't do this if I
felt like it was making the code harder to read or worse for
humans, but in this case, these fixes don't seem too bad and will
hopefully make it easier for better analysis tools to get at any
real issues.
|
|
71d62d39
|
2013-02-15T16:01:31
|
|
Fix memory leak in p_getaddrinfo on Amiga
If gethostbyname() fails on platforms with NO_ADDRINFO, the code
leaks the struct addrinfo that was allocated. This fixes that
(and a number of code formatting issues in that area of code in
src/posix.c).
|
|
a7ed7460
|
2013-02-15T15:58:13
|
|
Add rudimentary error checks and reformat comments
There were a number of functions assigning their return value to
`error` without much explanation. I added in some rudimentary
error checking to help flesh out the example.
Also, I reformatted all of the comments down to 80 cols (and in
some cases, slightly updated the wording).
|
|
1d75acf7
|
2013-02-15T04:21:41
|
|
Merge pull request #1342 from ghedo/development
push: fix typo in git_push_finish() doc
|
|
91f7335e
|
2013-02-15T13:12:03
|
|
push: fix typo in git_push_finish() doc
|
|
fcd7733d
|
2013-02-14T12:49:46
|
|
Merge pull request #1318 from nulltoken/topic/diff-tree-coverage
Topic/diff tree coverage
|
|
c9d17120
|
2013-02-14T11:33:47
|
|
Merge pull request #1340 from schu/push-docs
push: improve docs on success / failure of git_push_finish
|
|
a53b5e5f
|
2013-02-14T20:20:18
|
|
push: improve docs on success / failure of git_push_finish
|
|
a9e1339c
|
2013-02-14T08:12:05
|
|
Fix a leak when canceling a network operation
|
|
2fe67aeb
|
2013-02-14T08:46:58
|
|
Fix a git_filebuf leak (fixes Win32 clone::can_cancel)
|
|
b7860025
|
2013-02-14T03:58:11
|
|
Merge pull request #1335 from phkelley/development
Improve MSVC compiler, linker flags
|
|
5f633e91
|
2013-02-13T18:12:51
|
|
Change git2.rc to identify git.dll as VOS_NT_WINDOWS32
|
|
19be3f9e
|
2013-02-13T12:36:41
|
|
Improve MSVC compiler, linker flags
|
|
6a0ffe84
|
2013-02-12T10:50:55
|
|
Merge pull request #1333 from phkelley/push_options
Add git_push_options, to set packbuilder parallelism
|
|
fbe67de9
|
2013-02-12T10:16:30
|
|
Merge pull request #1246 from arrbee/fix-force-text-for-diff-blobs
Add FORCE_TEXT check into git_diff_blobs code path
|
|
9c258af0
|
2013-02-12T10:13:56
|
|
Merge pull request #1316 from ben/clone-cancel
Allow network operations to cancel
|
|
c2c0874d
|
2013-02-11T14:44:56
|
|
More diff tests with binary data
|
|
ed55fd8b
|
2013-02-11T13:29:07
|
|
Reorganize FORCE_TEXT diff flag checks
|
|
c2907575
|
2013-01-15T09:24:17
|
|
Add FORCE_TEXT check into git_diff_blobs code path
`git_diff_blobs` and `git_diff_blob_to_buffer` skip the step
where we check file attributes because they don't have a filename
associated with the data. Unfortunately, this meant they were also
skipping the check for the GIT_DIFF_FORCE_TEXT option and so you
could not force a diff of an apparent binary file. This adds the
force text check into their code path.
|
|
40a60510
|
2013-02-11T14:35:41
|
|
Merge pull request #1324 from nulltoken/topic/remote_isvalidname
Topic/remote isvalidname
|
|
2bca5b67
|
2013-02-07T23:44:18
|
|
remote: Introduce git_remote_is_valid_name()
Fix libgit2/libgit2sharp#318
|
|
4d811c3b
|
2013-02-07T23:40:10
|
|
refs: No component of a refname can end with '.lock'
|
|
624924e8
|
2013-02-07T23:02:56
|
|
remote: reorganize tests
|