|
0d32f39e
|
2013-03-04T11:31:50
|
|
Notify '*' pathspec correctly when diffing
I also moved all tests related to notifying in their own file.
|
|
90431f1b
|
2013-04-10T08:33:33
|
|
Merge pull request #1424 from phkelley/efficient_push
Reduce the number of unnecessary objects in pushed packs
|
|
575a54db
|
2013-04-10T16:55:29
|
|
object: Export git_object_dup
|
|
0d3ccf0b
|
2013-04-10T16:41:05
|
|
examples: Don't print weird characters
|
|
e9b7ff60
|
2013-04-09T15:15:18
|
|
Merge pull request #1460 from arrbee/fix-dirty-submodules-diff
Submodule diff tests and fixes
|
|
ad26434b
|
2013-04-09T14:52:32
|
|
Tests and more fixes for submodule diffs
This adds tests for diffs with submodules in them and (perhaps
unsurprisingly) requires further fixes to be made. Specifically,
this fixes:
- when considering if a submodule is dirty in the workdir, it was
being treated as dirty even if only the index was dirty.
- git_diff_patch_to_str (and git_diff_patch_print) were "printing"
the headers for files (and submodules) that were unmodified or
had no meaningful content.
- added comment to previous fix and removed unneeded parens.
|
|
9da187e8
|
2013-04-09T11:40:00
|
|
Fix clang warnings and improve checks
|
|
94750e8a
|
2013-03-29T11:52:18
|
|
Fix submodule dirty states not showing if submodules comes before files, or there are only dirty submodules but no changed files
GIT_DIFF_PATCH_DIFFABLE was not set, so the diff content was not shown
When submodule is dirty, the hash may be the same, but the length is different because -dirty is appended
We can therefore compare the length or hash
|
|
fc12a6b5
|
2013-04-08T23:28:27
|
|
Merge pull request #1458 from maxpow4h/patch-1
Updated link to Haskell bindings
|
|
7d5b0f8b
|
2013-04-09T09:28:40
|
|
Updated link to Haskell bindings
The old one hasn't been updated in a long time. This one is current.
|
|
812e5aea
|
2013-04-07T07:23:08
|
|
test: Add missing NULLs
|
|
d9ecaf8c
|
2013-04-07T07:22:38
|
|
Merge remote-tracking branch 'gnprice/revwalk' into development
|
|
b208d900
|
2013-03-20T10:01:58
|
|
revparse: Parse range-like syntax
Signed-off-by: Greg Price <price@mit.edu>
|
|
2e233285
|
2013-03-20T09:39:20
|
|
examples: a test, for rev-list
This test file could probably be improved by a framework like
the one in git.git:t/, or by using a language like Python instead
of shell.
The other examples would benefit from tests too. Probably best
to settle on a framework to write them in, then add more tests.
Signed-off-by: Greg Price <price@mit.edu>
|
|
8f7f5e55
|
2013-03-31T14:56:32
|
|
examples: rev-list
This demonstrates parts of the interface for specifying revisions that
Git users are familiar with from 'git rev-list', 'git log', and other
Git commands. A similar query interface is used in out-of-core
command-line programs that browse a Git repo (like 'tig'), and may be
useful for an 'advanced search' interface in GUI or web applications.
In this version, we parse all the query modifiers we can support with
the existing logic in revwalk: basic include/exclude commits, and the
ordering flags. More logic will be required to support '--grep',
'--author', the pickaxe '-S', etc.
Signed-off-by: Greg Price <price@mit.edu>
|
|
af079d8b
|
2013-03-03T20:54:23
|
|
revwalk: Parse revision ranges
All the hard work is already in revparse.
Signed-off-by: Greg Price <price@mit.edu>
|
|
22744837
|
2013-04-04T11:46:54
|
|
Merge pull request #1456 from ben/fix-general-example
Fix the general.c example to run against testrepo.git
|
|
f8591e51
|
2013-04-04T11:44:50
|
|
General example: run against testrepo.git
Fixes #1455
|
|
432b8c11
|
2013-04-02T17:09:35
|
|
Merge pull request #1453 from ethomson/refdb_export
Properly GIT_EXPORT git_reference__alloc
|
|
c869e268
|
2013-04-02T18:57:42
|
|
export git_reference__alloc
|
|
734aa826
|
2013-04-01T13:28:08
|
|
Merge pull request #1452 from nulltoken/fix/branch_doc
branch: Fix git_branch_create() documentation
|
|
b08c3173
|
2013-04-01T22:01:13
|
|
branch: Fix git_branch_create() documentation
|
|
08283cbd
|
2013-04-01T07:12:49
|
|
Merge pull request #1448 from phkelley/development
Avoid pre-Win7 WinHTTP self-redirect quirk
|
|
b39f9697
|
2013-03-31T23:04:14
|
|
Fix whitespace in src/win32/version.h
|
|
5c5eeba6
|
2013-03-31T22:22:33
|
|
Add git_has_win32_version helper
|
|
2932c882
|
2013-03-04T02:17:04
|
|
revwalk: refactor tests a bit
Signed-off-by: Greg Price <price@mit.edu>
|
|
06e6eab0
|
2013-03-19T12:02:19
|
|
revwalk tests: better diagram of example repo
The purported command output was already inaccurate, as the refs
aren't where it shows. In any event, the labels a reader of this
file really needs are the indices used in commit_sorting_*, to make
it possible to understand them by referring directly from those
arrays to the diagram rather than from the index arrays, to commit_ids,
to the diagram. Add those.
Signed-off-by: Greg Price <price@mit.edu>
|
|
804c5f56
|
2013-03-03T20:22:51
|
|
Fix puzzling doc comment
Signed-off-by: Greg Price <price@mit.edu>
|
|
c45d9c46
|
2013-03-31T14:07:15
|
|
Merge pull request #1451 from nulltoken/topic/support_taggerless_tags
Support tags with no tagger nor message
|
|
8cc2f2d8
|
2013-03-31T12:10:27
|
|
Win32 error reporting: Support WinHTTP errors
|
|
24cb87e2
|
2013-03-31T13:27:43
|
|
tag: Fix parsing when no tagger nor message
|
|
5a5bd640
|
2013-03-31T13:53:40
|
|
tests: Fix indentations
|
|
0227fa2a
|
2013-03-30T21:36:04
|
|
Avoid pre-Win7 WinHTTP self-redirect quirk
|
|
81b8c9df
|
2013-03-30T04:50:53
|
|
transport: don't try to export nonexistent function
|
|
f938259f
|
2013-03-29T16:44:00
|
|
Merge pull request #1446 from ethomson/free
Clean up some memleaks in tests
|
|
0e60b637
|
2013-03-29T18:36:11
|
|
free!
|
|
1d5220dc
|
2013-03-29T10:13:54
|
|
Merge pull request #1445 from ethomson/reset_unmerged
remove unmerged files during reset hard
|
|
54a1a042
|
2013-03-29T11:26:12
|
|
remove unmerged files during reset hard
|
|
8cfd54f0
|
2013-03-26T12:27:15
|
|
Fix Windows/Win32 warning
|
|
0b061b5b
|
2013-03-26T11:05:57
|
|
Merge pull request #1436 from schu/opts-cache-size
opts: allow configuration of odb cache size
|
|
86d24ce4
|
2013-03-26T10:42:30
|
|
Merge pull request #1439 from arrbee/recurse-ignored-dirs
Several diff and status fixes
|
|
ccfa6805
|
2013-03-25T23:58:40
|
|
Fix some diff ignores and submodule dirty workdir
This started out trying to look at the problems from issue #1425
and gradually grew to a broader set of fixes. There are two core
things fixed here:
1. When you had an ignore like "/bin" which is rooted at the top
of your tree, instead of immediately adding the "bin/" entry
as an ignored item in the diff, we were returning all of the
direct descendants of the directory as ignored items. This
changes things to immediately ignore the directory. Note that
this effects the behavior in test_status_ignore__subdirectories
so that we no longer exactly match core gits ignore behavior,
but the new behavior probably makes more sense (i.e. we now
will include an ignored directory inside an untracked directory
that we previously would have left off).
2. When a submodule only contained working directory changes, the
diff code was always considering it unmodified which was just
an outright bug. The HEAD SHA of the submodule matches the SHA
in the parent repo index, and since the SHAs matches, the diff
code was overwriting the actual status with UNMODIFIED.
These fixes broke existing tests test_diff_workdir__submodules and
test_status_ignore__subdirectories but looking it over, I actually
think the new results are correct and the old results were wrong.
@nulltoken had actually commented on the subdirectory ignore issue
previously.
I also included in the tests some debugging versions of the
shared iteration callback routines that print status or diff
information. These aren't used actively in the tests, but can be
quickly swapped in to test code to give a better picture of what
is being scanned in some of the complex test scenarios.
|
|
37ee70fa
|
2013-03-25T22:19:39
|
|
Implement GIT_STATUS_OPT_EXCLUDE_SUBMODULES
This option has been sitting unimplemented for a while, so I
finally went through and implemented it along with some tests.
As part of this, I improved the implementation of
GIT_DIFF_IGNORE_SUBMODULES so it be more diligent about avoiding
extra work and about leaving off delta records for submodules to
the greatest extent possible (though it may include them still
if you are request TYPECHANGE records).
|
|
d2a4a54b
|
2013-03-25T21:46:51
|
|
Merge pull request #1438 from ethomson/checkout_stat
don't stat until the file is written
|
|
d828f118
|
2013-03-25T18:16:02
|
|
don't stat until the file is written
|
|
0c289dd7
|
2013-03-25T16:40:16
|
|
Recursing into ignored dirs for diff and status
This implements working versions of GIT_DIFF_RECURSE_IGNORED_DIRS
and GIT_STATUS_OPT_RECURSE_IGNORED_DIRS along with some tests for
the newly available behaviors. This is not turned on by default
for status, but can be accessed via the options to the extended
version of the command.
|
|
f2850f33
|
2013-03-25T15:30:37
|
|
Merge pull request #1437 from phkelley/redirect
http: Support 302 Found (arrbee did most of the work)
|
|
f273b5d6
|
2013-03-25T18:15:54
|
|
Add a valgrind suppression for glibc's getaddrinfo cache
|
|
35e0f3c6
|
2013-03-25T17:59:30
|
|
Refine the redirect check condition
|
|
f17951d6
|
2013-03-25T14:42:53
|
|
Merge pull request #1431 from libgit2/autocrlf-fixes
Fix crlf handling, particularly when autocrlf=true
|
|
2c7f7a66
|
2013-03-25T17:35:36
|
|
http: Support 302 Found (arrbee did most of the work)
|
|
3658e81e
|
2013-03-25T14:20:07
|
|
Move crlf conversion into buf_text
This adds crlf/lf conversion functions into buf_text with more
efficient implementations that bypass the high level buffer
functions. They attempt to minimize the number of reallocations
done and they directly write the buffer data as needed if they
know that there is enough memory allocated to memcpy data.
Tests are added for these new functions. The crlf.c code is
updated to use the new functions.
Removed the include of buf_text.h from filter.h and just include
it more narrowly in the places that need it.
|
|
050ab995
|
2013-03-25T14:13:53
|
|
Fix up checkout file contents checks
This fixes of the file contents checks in checkout to give
slightly better error messages by directly calling the underlying
clar assertions so the file and line number of the top level call
can be reported correctly, and renames the helpers to not start
with "test_" since that is kind of reserved by clar.
This also enables some of the CRLF tests on all platforms that
were previously Windows only (by pushing a check of the native
line endings into the test body).
|
|
4a15ea86
|
2013-03-21T14:02:25
|
|
don't convert CRLF to CRCRLF
|
|
1098cfae
|
2013-03-22T14:52:29
|
|
Test fixes and cleanup
This fixes some places where the new tests were leaving the test
area in a bad state or were freeing data they should not free.
It also removes code that is extraneous to the core issue and
fixes an invalid SHA being looked up in one of the tests (which
was failing, but for the wrong reason).
|
|
b8acb775
|
2013-03-07T22:15:40
|
|
Added some tests for issue #1397
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
9733e80c
|
2013-03-22T10:44:45
|
|
Add has_cr_in_index check to CRLF filter
This adds a check to the drop_crlf filter path to check it the
file in the index already has a CR in it, in which case this will
not drop the CRs from the workdir file contents.
This uncovered a "bug" in `git_blob_create_fromworkdir` where the
full path to the file was passed to look up the attributes instead
of the relative path from the working directory root. This meant
that the check in the index for a pre-existing entry of the same
name was failing.
|
|
13640d1b
|
2013-03-25T21:39:11
|
|
oid: Do not parse OIDs longer than 40
|
|
1f107478
|
2013-03-25T13:26:50
|
|
Merge pull request #1428 from xavier-l/nul-terminated-oid
Nul terminated oid
|
|
c2ea65ee
|
2013-03-25T21:22:57
|
|
clar: Disable online tests. By now.
|
|
f7110e6c
|
2013-03-25T10:11:32
|
|
Merge pull request #1427 from Lionelon/development
Fix link issue in network examples
|
|
c5b72fa2
|
2013-03-25T10:09:03
|
|
Merge pull request #1435 from mcanes/development
Remove GIT_SUCCESS from documentation
|
|
f5e28202
|
2013-03-25T13:38:43
|
|
opts: allow configuration of odb cache size
Currently, the odb cache has a fixed size of 128 slots as defined by
GIT_DEFAULT_CACHE_SIZE. Allow users to set the size of the cache via
git_libgit2_opts().
Fixes #1035.
|
|
c2186230
|
2013-03-24T12:34:00
|
|
Remove GIT_SUCCESS from documentation
|
|
3f21a23c
|
2013-03-23T12:10:23
|
|
Merge pull request #1432 from arrbee/update-clar
Update clar and some test helpers clean up
|
|
1323c6d1
|
2013-03-22T14:27:56
|
|
Add cl_repo_set_bool and cleanup tests
This adds a helper function for the cases where you want to
quickly set a single boolean config value for a repository.
This allowed me to remove a lot of code.
|
|
3ba01362
|
2013-03-20T11:46:03
|
|
Update cl_assert_equal_sz to be nicer
This makes the size_t comparison test nicer (assuming that the
values are actually not using the full length), and converts
some cases that were using it for pointer comparison to use the
macro that is designed for pointer comparison.
|
|
7202ec29
|
2013-03-20T11:47:34
|
|
Update to latest Clar
|
|
33a59401
|
2013-03-22T20:22:39
|
|
graph: make the ahead-behind docs clearer
Explain it in local-upstream branch terms so it's easier to grasp than
with the `one` and `two` naming from the merge-base code.
|
|
b3c17483
|
2013-03-21T14:50:28
|
|
Clarified string value
|
|
1e7b7523
|
2013-03-21T12:30:08
|
|
git_oid_fromstrn already sets a maximum on the length of the string
|
|
7e527ca7
|
2013-03-21T12:16:31
|
|
Added test case for new function
|
|
0c8efb38
|
2013-03-21T11:59:01
|
|
Added an oid function that accepts nul-terminated strings
|
|
e2886f1e
|
2013-03-20T21:13:43
|
|
Fix link issue in network examples
|
|
cd01dd5d
|
2013-03-19T15:43:34
|
|
Fix dumb mistake in the comparison function
|
|
bef2a12c
|
2013-03-19T15:35:26
|
|
Convert enqueue_object to a function
|
|
799f9a04
|
2013-03-19T14:56:45
|
|
Reduce the number of unnecessary objects in pushed packs
|
|
7dbf4039
|
2013-03-19T11:47:23
|
|
Merge pull request #1423 from arrbee/submodule-status-errors
Three submodule status bug fixes
|
|
0b0ecbec
|
2013-03-19T17:42:10
|
|
clone: fix param comment
|
|
65025cb8
|
2013-03-18T17:24:13
|
|
Three submodule status bug fixes
1. Fix sort order problem with submodules where "mod" was sorting
after "mod-plus" because they were being sorted as "mod/" and
"mod-plus/". This involved pushing the "contains a .git entry"
test significantly lower in the stack.
2. Reinstate behavior that a directory which contains a .git entry
will be treated as a submodule during iteration even if it is
not yet added to the .gitmodules.
3. Now that any directory containing .git is reported as submodule,
we have to be more careful checking for GIT_EEXISTS when we
do a submodule lookup, because that is the error code that is
returned by git_submodule_lookup when you try to look up a
directory containing .git that has no record in gitmodules or
the index.
|
|
5b27bf7e
|
2013-03-18T16:17:14
|
|
Merge pull request #1417 from arrbee/opts-for-paths
Implement opts interface for global/system file search paths
|
|
32460251
|
2013-03-18T15:54:35
|
|
Fixes and cleanups
Get rid of some dead code, tighten things up a bit, and fix a bug
with core::env test.
|
|
41954a49
|
2013-03-18T14:19:35
|
|
Switch search paths to classic delimited strings
This switches the APIs for setting and getting the global/system
search paths from using git_strarray to using a simple string with
GIT_PATH_LIST_SEPARATOR delimited paths, just as the environment
PATH variable would contain. This makes it simpler to get and set
the value.
I also added code to expand "$PATH" when setting a new value to
embed the old value of the path. This means that I no longer
require separate actions to PREPEND to the value.
|
|
50eb8520
|
2013-03-18T14:05:31
|
|
Merge pull request #1420 from KindDragon/static-code-analyzer-warnings
Several warnings detected by static code analyzer fixed
|
|
677dce8a
|
2013-03-18T14:00:09
|
|
Merge pull request #1080 from carlosmn/config-set-null
Failing config related test
|
|
15a63e21
|
2013-03-18T13:55:18
|
|
Merge pull request #1418 from QbProg/qb/cmake-msvc
MSVC cmake improvements
|
|
10c06114
|
2013-03-17T04:46:46
|
|
Several warnings detected by static code analyzer fixed
Implicit type conversion argument of function to size_t type
Suspicious sequence of types castings: size_t -> int -> size_t
Consider reviewing the expression of the 'A = B == C' kind. The expression is calculated as following: 'A = (B == C)'
Unsigned type is never < 0
|
|
d66a7c06
|
2013-03-16T17:48:24
|
|
Fix for a cmake bug when using MSVC + Win64 + static libraries
(see http://public.kitware.com/Bug/view.php?id=11240)
|
|
08f32085
|
2013-03-16T17:38:27
|
|
Adds an option to select the CRT link mode ( static or dynamic ).
This is useful when linking libgit2 statically, as the setting must match the linking program's one.
|
|
5540d947
|
2013-03-15T16:39:00
|
|
Implement global/system file search paths
The goal of this work is to expose the search logic for "global",
"system", and "xdg" files through the git_libgit2_opts() interface.
Behind the scenes, I changed the logic for finding files to have a
notion of a git_strarray that represents a search path and to store
a separate search path for each of the three tiers of config file.
For each tier, I implemented a function to initialize it to default
values (generally based on environment variables), and then general
interfaces to get it, set it, reset it, and prepend new directories
to it.
Next, I exposed these interfaces through the git_libgit2_opts
interface, reusing the GIT_CONFIG_LEVEL_SYSTEM, etc., constants
for the user to control which search path they were modifying.
There are alternative designs for the opts interface / argument
ordering, so I'm putting this phase out for discussion.
Additionally, I ended up doing a little bit of clean up regarding
attr.h and attr_file.h, adding a new attrcache.h so the other two
files wouldn't have to be included in so many places.
|
|
a5f61384
|
2013-03-15T12:24:20
|
|
odb_pack: Unused functions
|
|
f16fb099
|
2013-03-15T12:11:02
|
|
pool: Internal struct name
|
|
5b229e20
|
2013-03-15T04:06:31
|
|
Merge pull request #1413 from arrbee/more-iterator-refactor
Further tree_iterator refactoring
|
|
e953c160
|
2013-03-14T16:11:31
|
|
Merge pull request #1414 from arrbee/more-build-warning-fixes
Fix various build warnings
|
|
55e0f53d
|
2013-03-14T15:09:29
|
|
Fix various build warnings
This fixes various build warnings on Mac and Windows (64-bit).
|
|
14bedad9
|
2013-03-14T15:08:04
|
|
Added pool freelist struct for readability
This adds a git_pool_freelist_item struct that makes it a little
easier to follow what's going on with the pool free list block
management code. It is functionally neutral.
|
|
d85296ab
|
2013-03-14T13:50:54
|
|
Fix valgrind issues (and mmap fallback for diff)
This fixes a number of issues identified by valgrind - mostly
missed free calls. Inside valgrind, mmap() may fail which causes
some of the diff tests to fail. This adds a fallback code path
to diff_output.c:get_workdir_content() where is the mmap() fails
the code will now try to read the file data directly into allocated
memory (which is what it would do if the data needed to be filtered
anyhow).
|
|
0c468633
|
2013-03-14T13:40:15
|
|
Improved tree iterator internals
This updates the tree iterator internals to be more efficient.
The tree_iterator_entry objects are now kept as pointers that are
allocated from a git_pool, so that we may use git__tsort_r for
sorting (which is better than qsort, given that the tree is
likely mostly ordered already).
Those tree_iterator_entry objects now keep direct pointers to the
data they refer to instead of keeping indirect index values. This
simplifies a lot of the data structure traversal code.
This also adds bsearch to find the start item position for range-
limited tree iterators, and is more explicit about using
git_path_cmp instead of reimplementing it. The git_path_cmp
changed a bit to make it easier for tree_iterators to use it (but
it was barely being used previously, so not a big deal).
This adds a git_pool_free_array function that efficiently frees a
list of pool allocated pointers (which the tree_iterator keeps).
Also, added new tests for the git_pool free list functionality
that was not previously being tested (or used).
|
|
6950dca4
|
2013-03-13T15:50:13
|
|
Merge pull request #1411 from arrbee/workdir-iterator-depth-limit-bug
Fix workdir iterator bugs
|
|
bbb13646
|
2013-03-13T14:59:51
|
|
Fix workdir iterator bugs
This fixes two bugs with the workdir iterator depth check: first
that the depth was not being decremented and second that empty
directories were counting against the depth even though a frame
was not being created for them.
This also fixes a bug with the ENOTFOUND return code for workdir
iterators when you attempt to advance_into an empty directory.
Actually, that works correctly, but it was incorrectly being
propogated into regular advance() calls in some circumstances.
Added new tests for the above that create a huge hierarchy on
the fly and try using the workdir iterator to traverse it.
|