Vicent Martí
1c3a5a0302
Merge pull request #693 from nulltoken/topic/enhance_branch_move_test_coverage
...
branch: cover with test that moving a non existing branch returns ENOTFOUND
2012-05-14 11:25:55 -07:00
Vicent Martí
8c6329eec9
Merge pull request #692 from nulltoken/fix/delete-branch_ENOTFOUND
...
branch: make git_branch_delete() return GIT_ENOTFOUND when the branch doesn't exist
2012-05-14 11:25:40 -07:00
Vicent Martí
c9e9ec97d2
Merge pull request #688 from hanwen/master
...
See issue https://github.com/libgit2/libgit2/issues/680
2012-05-14 11:24:37 -07:00
Vicent Martí
e49cb1687e
Merge pull request #671 from nulltoken/topic/blob_create_fromdisk
...
Add git_blob_create_fromdisk()
2012-05-14 11:03:30 -07:00
Vicent Martí
72bfde9790
Merge pull request #681 from scottjg/solaris-fixes
...
Fix build/runtime issues on Solaris
2012-05-14 11:01:14 -07:00
Vicent Martí
27f5b7cfed
Merge pull request #682 from arrbee/attribute-cache-buster
...
Attribute cache buster
2012-05-14 10:58:23 -07:00
Scott J. Goldman
212eb09d5f
Add a test to verify FILENAME_MAX
...
Since we now rely on it (at least under Solaris), I figured we probably
want to make sure it's accurate. The new test makes sure that creating a
file with a name of length FILENAME_MAX+1 fails.
2012-05-13 23:12:51 -07:00
nulltoken
7327a090e2
mergebase: enhance test code coverage
2012-05-13 14:14:08 +02:00
Carlos Martín Nieto
f0b350eb52
tests: make sure we clean up in objects/blob/write.c
2012-05-13 11:28:49 +02:00
nulltoken
6ca9643c96
blob: Add git_blob_create_fromdisk()
...
This function will create blobs in the object database from files anywhere on the filesystem. This can be run against bare and non-bare repositories.
2012-05-13 11:28:49 +02:00
nulltoken
48ce97dd96
branch: cover with test that moving a non existing branch returns ENOTFOUND
2012-05-13 11:03:29 +02:00
nulltoken
341a7136f6
branch: make git_branch_delete() return GIT_ENOTFOUND when the branch doesn't exist
2012-05-13 10:30:13 +02:00
Han-Wen Nienhuys
24634c6fd0
Handle duplicate objects from different backends in git_odb_read_prefix().
2012-05-12 15:50:19 -03:00
Vicent Martí
b72969e064
Merge pull request #683 from arrbee/better-repo-init
...
Improve repo initialization to be more like git
2012-05-12 01:51:58 -07:00
nulltoken
e28c37761b
object: make git_object_lookup() return GIT_ENOTFOUND when searching for an existing object by specifying an incorrect type
...
This fix complements cb0ce16bbe
and cover the following additional use cases
- retrieving an object which has been previously searched, found and cached
- retrieving an object through an non ambiguous abbreviated id
2012-05-11 23:56:23 +02:00
Ben Straub
7c22e72ba6
Removing test whose results are platform-dependent.
2012-05-11 12:21:58 -07:00
Russell Belfer
db62807215
Fixed leaks and added tests
2012-05-11 12:16:19 -07:00
Ben Straub
72b86bae50
Rev-parse: better error handling for chaining.
...
Fixed an error where "nonexistant^N" or similar
would fall into an assert. This now properly returns
an error.
2012-05-11 11:58:02 -07:00
Ben Straub
92ad5a5cda
Rebasing onto libgit2/development: cleanup.
2012-05-11 11:55:20 -07:00
Ben Straub
c8a33547a0
Rev-parse: now capturing and reporting regex errors.
2012-05-11 11:35:50 -07:00
Ben Straub
46c2ead05d
Now properly handling branches with "-g" in their names.
2012-05-11 11:35:50 -07:00
Ben Straub
d13c1a8b60
Fixing broken tests.
2012-05-11 11:35:50 -07:00
Ben Straub
a346992f7e
Rev-parse: @{time} syntax.
...
Ported date.c (for approxidate_careful) from git.git
revision aa39b85. Trimmed out the parts we're not
using.
2012-05-11 11:35:50 -07:00
Ben Straub
886f183ac3
Rev-parse: "ref^{/regex}" syntax.
2012-05-11 11:31:30 -07:00
Ben Straub
a6346302e6
Rev-parse: "ref@{upstream}" syntax.
...
Added tracking configuration to the test repo's
config to support unit tests.
2012-05-11 11:30:47 -07:00
Ben Straub
27ee848397
Rev-parse: plugging (most) memory leaks.
2012-05-11 11:30:46 -07:00
Ben Straub
5748fdee52
Rev-parse chaining: adding the longest chain
...
in the test repo.
2012-05-11 11:30:46 -07:00
Ben Straub
a51bdbcfa1
Implementing rev-parse's ref@{n} and @{-n} syntaxes.
...
Added some reflags to the test repo to support
unit tests.
2012-05-11 11:30:46 -07:00
Ben Straub
38533d5acf
Implementing rev-parse's "ref~2" syntax.
...
Also extended the test suite to include chaining
operators, e.g. "master^2~3^4".
2012-05-11 11:30:46 -07:00
Ben Straub
7149a6252c
Returning error if dereferencing operation fails.
2012-05-11 11:30:46 -07:00
Ben Straub
387d01b857
Implemented rev-parse "^{type}" syntax.
2012-05-11 11:30:45 -07:00
Ben Straub
9d7bdf7119
Implemented rev-parse's "^{}" syntax.
2012-05-11 11:30:45 -07:00
Ben Straub
f597ea8978
Implemented partial caret syntax for rev-parse.
...
Supported forms:
- "^n"
- "^0"
- "^"
Still missing: all of the "^{…}" variants.
2012-05-11 11:30:45 -07:00
Ben Straub
023c6f69ed
Simpler states and initial structure.
...
New tests for "foo^2" syntax, but they don't pass
yet. Support for chaining these, i.e.
"foo^2~3^{u}~1' is starting to shape up.
2012-05-11 11:30:45 -07:00
Ben Straub
ac250c56c7
First stab at implementation of rev-parse.
...
This version supports refspecs of these kinds:
- Full & partial SHAs
- Output from "git describe"
- "/refs/heads/master" (full ref names)
- "master" (partial ref names)
- "FETCH_HEAD" (named heads)
2012-05-11 11:30:45 -07:00
Russell Belfer
a7c09c0d6b
Fixed mode on clar
2012-05-10 11:15:37 -07:00
Russell Belfer
dc13f1f7d7
Add cache busting to attribute cache
...
This makes the git attributes and git ignores cache check
stat information before using the file contents from the
cache. For cached files from the index, it checks the SHA
of the file instead. This should reduce the need to ever
call `git_attr_cache_flush()` in most situations.
This commit also fixes the `git_status_should_ignore` API
to use the libgit2 standard parameter ordering.
2012-05-10 11:12:43 -07:00
Vicent Martí
a9d9965b35
clar: Update from upstream
2012-05-09 22:55:01 +02:00
nulltoken
1956693fa0
Fix MSVC compilation issue
...
exp() is already defined in math.h. This leads to LMSVC complaining
..\..\libgit2\tests-clar\diff\blob.c(5): error C2365: 'exp' : redefinition; previous definition was 'function'
Renaming the variable fixes this issue.
2012-05-09 21:14:49 +02:00
Michael Schubert
b470019f7f
tests-clar/diff: fix missing-prototype warning
2012-05-09 18:02:13 +02:00
Vicent Martí
e65752bb32
Merge pull request #677 from arrbee/status-without-head
...
Add support for diffing index with no HEAD
2012-05-08 16:06:27 -07:00
Russell Belfer
7e000ab2ec
Add support for diffing index with no HEAD
...
When a repo is first created, there is no HEAD yet and attempting
to diff files in the index was showing nothing because a tree
iterator could not be constructed. This adds an "empty" iterator
and falls back on that when the head cannot be looked up.
2012-05-08 15:03:59 -07:00
Vicent Martí
c99bdacf71
Merge pull request #670 from nulltoken/ntk/topic/clean-commit_message
...
Clean commit and tag messages
2012-05-08 14:13:43 -07:00
Russell Belfer
364f51bdca
Merge pull request #668 from nulltoken/topic/binary-blobs
...
Enhancing the blob diffing experience
2012-05-08 13:56:21 -07:00
Vicent Martí
1f796cd180
Merge pull request #676 from carlosmn/remotes
...
Add git_remote_add() and change signature for _new()
2012-05-08 13:42:11 -07:00
Russell Belfer
19579847f6
Clean up warnings and tests
2012-05-08 13:23:00 -07:00
Carlos Martín Nieto
baaa8a447e
remotes: change git_remote_new's signature
...
Add a fetch refspec arguemnt and make the arguments (name, url,
refspec), as that order makes more sense.
2012-05-08 21:36:40 +02:00
Carlos Martín Nieto
a209a025c6
remote: add git_remote_add()
...
Helper function to create a remote with the default settings
2012-05-08 21:36:40 +02:00
nulltoken
722c08afec
status: Prevent git_status_file() from returning ENOTFOUND when not applicable
2012-05-08 10:05:27 +02:00
nulltoken
464cf248fd
repository: ensure git_repository_discover() returns ENOTFOUND when unable to find a repository given the constraints
2012-05-08 10:05:24 +02:00
nulltoken
0b0957a661
fileops: replace integer usage with more explicit enum in some git_futils_rmdir_r() calls
2012-05-08 10:05:22 +02:00
nulltoken
d7d8a0bfd4
repository: ensure git_repository_open() returns ENOTFOUND when being passed a path leading to no repository
2012-05-08 10:05:20 +02:00
nulltoken
9abb5bca5d
compat: make p_realpath Windows implementation be a bit more POSIX compliant and fail if the provided path does not lead to an existing entry
2012-05-08 10:05:18 +02:00
nulltoken
cb0ce16bbe
object: make git_object_lookup() return GIT_ENOTFOUND when searching for an existing object by specifying an incorrect type
2012-05-08 10:05:14 +02:00
nulltoken
9fb70f378a
remote: make git_remote_load() return GIT_ENOTFOUND when the remote url cannot be retrieved from the config file
2012-05-08 10:05:12 +02:00
Vicent Martí
8d89c8e972
Merge pull request #672 from scottjg/more-mingw32-fixes
...
More mingw32 compilation fixes.
2012-05-07 13:36:02 -07:00
nulltoken
3191ae89c6
compat: make p_open able to accept optional mode when passing the O_CREAT flag
...
This has the nice side effect of making test_attr_repo__staging_properly_normalizes_line_endings_according_to_gitattributes_directives() test pass again on Windows. This test started to fail after commit 674a198
was applied.
2012-05-07 12:18:54 +02:00
nulltoken
9a29f8d56c
diff: fix the diffing of two identical blobs
2012-05-07 12:18:33 +02:00
nulltoken
28ef7f9b28
diff: make git_diff_blobs() able to detect binary blobs
2012-05-07 12:18:32 +02:00
nulltoken
cfe25b13fa
tests: add two binary blobs to attr test repository
...
- edf3dce -> assets.github.com/images/icons/emoji/alien.png?v5
- de863bf -> assets.github.com/images/icons/emoji/heart.png?v5
2012-05-07 12:18:32 +02:00
nulltoken
4f80676182
diff: fix the diffing of a concrete blob against a null one
2012-05-07 12:18:31 +02:00
nulltoken
245c5eaec5
diff: When diffing two blobs, ensure the delta callback parameter is filled with relevant information
2012-05-07 12:18:31 +02:00
nulltoken
458b94503d
commit/tag: ensure the message is cleaned up
...
'git commit' and 'git tag -a' enforce some conventions, like cleaning up excess whitespace and making sure that the last line ends with a '\n'. This fix replicates this behavior.
Fix libgit2/libgit2sharp#117
2012-05-07 12:16:04 +02:00
Carlos Martín Nieto
9b62e40ecd
clar helper: don't dereference giterr_last() if it's NULL
...
It can cause segfaults if the call didn't set an error
2012-05-07 11:29:10 +02:00
Scott J. Goldman
17847c78dd
Update clar to latest version
...
Fixes the mingw32 build issues.
2012-05-06 23:58:41 -07:00
Vicent Martí
cd58c15c58
Merge remote-tracking branch 'scottjg/fix-mingw32' into development
...
Conflicts:
src/netops.c
src/netops.h
src/transports/http.c
tests-clar/clar
2012-05-05 16:47:20 -07:00
Vicent Martí
4ef14af935
Merge pull request #664 from arrbee/attrs-from-index
...
Support git attrs from index (and bare repo)
2012-05-05 14:22:06 -07:00
Vicent Martí
d3a60dc244
Merge pull request #663 from schu/notes-honor-config
...
Honor core.notesRef config option
2012-05-05 14:14:58 -07:00
Scott J. Goldman
35cdd261f3
Fix unsigned/signed comparison on Windows in commitstagedfile.c
2012-05-05 13:54:33 -07:00
Scott J. Goldman
06ac3e7f34
Fix clar generated code to compile on MINGW32
...
MINGW32 does not define _mktemp_s, so we can just use _mktemp instead. See
the non-compressed/non-base64-encoded version of the patch here:
http://gist.github.com/2605249
2012-05-05 13:16:48 -07:00
Vicent Martí
674a198599
clar: Properly create files in helper
2012-05-04 16:05:14 -07:00
Russell Belfer
3ec1fa5e1c
Fixing issue with test data
2012-05-04 13:55:07 -07:00
Russell Belfer
b709e95146
Fix memory leaks and use after free
2012-05-04 11:06:12 -07:00
Russell Belfer
f917481ee8
Support reading attributes from index
...
Depending on the operation, we need to consider gitattributes
in both the work dir and the index. This adds a parameter to
all of the gitattributes related functions that allows user
control of attribute reading behavior (i.e. prefer workdir,
prefer index, only use index).
This fix also covers allowing us to check attributes (and
hence do diff and status) on bare repositories.
This was a somewhat larger change that I hoped because it had
to change the cache key used for gitattributes files.
2012-05-03 16:37:25 -07:00
Michael Schubert
630c5a4a54
notes: add git_note_default_ref()
...
Add git_note_default_ref to allow easy retrieval of the currently set
default notes reference.
2012-05-03 22:31:29 +02:00
Michael Schubert
caea5e5433
notes: honor core.notesRef
...
Setting core.notesRef allows to change the default notes reference used
by Git. Check if set before using GIT_NOTES_DEFAULT_REF. Fixes #649 .
2012-05-03 22:31:29 +02:00
Vicent Martí
76873c0905
Silence return value warning
2012-05-03 13:30:14 -07:00
Vicent Martí
3fbcac89c4
Remove old and unused error codes
2012-05-02 19:56:38 -07:00
Vicent Martí
b02bcd97f8
Boom
2012-05-02 16:57:16 -07:00
Russell Belfer
17f1c9fb33
chmod for writability when writing test files
2012-05-02 16:44:47 -07:00
Vicent Martí
a1d0802576
Backport more test data
2012-05-02 16:33:26 -07:00
Vicent Martí
8c83fead91
Move test resources
2012-05-02 16:18:55 -07:00
Vicent Martí
946a6dc4e6
Update test suite
2012-05-02 16:14:30 -07:00
Vicent Martí
40879facad
Merge branch 'new-error-handling' into development
...
Conflicts:
.travis.yml
include/git2/diff.h
src/config_file.c
src/diff.c
src/diff_output.c
src/mwindow.c
src/path.c
tests-clar/clar_helpers.c
tests-clar/object/tree/frompath.c
tests/t00-core.c
tests/t03-objwrite.c
tests/t08-tag.c
tests/t10-refs.c
tests/t12-repo.c
tests/t18-status.c
tests/test_helpers.c
tests/test_main.c
2012-05-02 15:59:02 -07:00
Russell Belfer
16b83019af
Fix usage of "new" for fieldname in public header
...
This should restore the ability to include libgit2 headers
in C++ projects.
Cherry picked 2de60205df
from
development into new-error-handling.
2012-05-02 15:34:58 -07:00
Vicent Martí
b88021463f
Merge remote-tracking branch 'carlosmn/remaining-errors' into new-error-handling
...
Conflicts:
src/refspec.c
2012-05-01 19:16:14 -07:00
Michael Schubert
52877c8975
tests-clar/diff: mark output_len unused
2012-05-01 15:13:14 +02:00
nulltoken
4e7a3c76e7
attr: add test coverage related to crlf normalization while staging
2012-05-01 00:33:25 +02:00
nulltoken
2de0652bb6
Leverage GIT_UNUSED macro to explicitly mark a function parameter as purposely unused
2012-04-30 07:41:33 +02:00
nulltoken
1d2dd864ad
diff: provide more context to the consumer of the callbacks
...
Update the callback to provide some information related to the file change being processed and the range of the hunk, when applicable.
2012-04-30 07:12:26 +02:00
Russell Belfer
d58336dda8
Fix leading slash behavior in attrs/ignores
...
We were not following the git behavior for leading slashes
in path names when matching git ignores and git attribute
file patterns. This should fix issue #638 .
2012-04-26 10:51:45 -07:00
Carlos Martín Nieto
3aa351ea0f
error handling: move the missing parts over to the new error handling
2012-04-26 15:38:42 +02:00
nulltoken
eb3d71a5bc
diff: fix generation of the header of a removal patch
2012-04-25 15:37:17 -07:00
Russell Belfer
c2b670436f
Rename git_khash_str to git_strmap, etc.
...
This renamed `git_khash_str` to `git_strmap`, `git_hash_oid` to
`git_oidmap`, and deletes `git_hashtable` from the tree, plus
adds unit tests for `git_strmap`.
2012-04-25 15:20:28 -07:00
Russell Belfer
19fa2bc111
Convert attrs and diffs to use string pools
...
This converts the git attr related code (including ignores) and
the git diff related code (and implicitly the status code) to use
`git_pools` for storing strings. This reduces the number of small
blocks allocated dramatically.
2012-04-25 10:42:37 -07:00
Russell Belfer
2bc8fa0227
Implement git_pool paged memory allocator
...
This adds a `git_pool` object that can do simple paged memory
allocation with free for the entire pool at once. Using this,
you can replace many small allocations with large blocks that
can then cheaply be doled out in small pieces. This is best
used when you plan to free the small blocks all at once - for
example, if they represent the parsed state from a file or data
stream that are either all kept or all discarded.
There are two real patterns of usage for `git_pools`: either
for "string" allocation, where the item size is a single byte
and you end up just packing the allocations in together, or for
"fixed size" allocation where you are allocating a large object
(e.g. a `git_oid`) and you generally just allocation single
objects that can be tightly packed. Of course, you can use it
for other things, but those two cases are the easiest.
2012-04-25 10:42:37 -07:00
Carlos Martín Nieto
a7d19b975a
config: also allow escaping outside of a quoted string
...
This limitation was a misparsing of the documentation.
2012-04-25 15:47:53 +02:00
Vicent Martí
f9f2344bd4
Merge pull request #632 from arrbee/win64-cleanup
...
Code clean up, including fixing warnings on Windows 64-bit build
2012-04-23 17:28:11 -07:00
Vicent Martí
4795807ad5
Merge pull request #637 from nulltoken/issue/odb-refcount
...
Fix git_repository_set_odb() refcount issue
2012-04-23 17:25:11 -07:00
Russell Belfer
26515e73a1
Rename to git_reference_name_to_oid
2012-04-23 10:06:31 -07:00