|
6e237de6
|
2013-01-11T18:19:52
|
|
regex: Proper define for this thing
|
|
32b33d62
|
2013-01-11T09:12:21
|
|
Merge pull request #1228 from carlosmn/delta-base
Introduce a delta base cache
|
|
e87f0514
|
2013-01-11T08:52:31
|
|
Merge pull request #1224 from sba1/some-regex-warning-fixes
Some regex warning fixes
|
|
f289f886
|
2013-01-11T17:24:52
|
|
pack: packfile_free -> git_packfile_free and use it in the indexers
It turns out the indexers have been ignoring the pack's free function
and leaking data. Plug that.
|
|
0ed75620
|
2012-12-21T13:46:48
|
|
pack: limit the amount of memory the base delta cache can use
Currently limited to 16MB (like git) and to objects up to 1MB in
size.
|
|
c8f79c2b
|
2012-12-21T10:59:10
|
|
pack: abstract out the cache into its own functions
|
|
8ace4165
|
2013-01-11T08:26:26
|
|
Merge pull request #1226 from nulltoken/fix/refspec_free
refspec: prevent git_refspec__free() from segfaulting
|
|
525d961c
|
2012-12-20T07:55:51
|
|
pack: refcount entries and add a mutex around cache access
|
|
c0f4a011
|
2012-12-19T16:48:12
|
|
pack: introduce a delta base cache
Many delta bases are re-used. Cache them to avoid inflating the same
data repeatedly.
This version doesn't limit the amount of entries to store, so it can
end up using a considerable amound of memory.
|
|
2086e1ba
|
2013-01-11T16:54:57
|
|
tests: plug a couple of leaks
|
|
a379e652
|
2013-01-11T16:14:17
|
|
refspec: prevent git_refspec__free() from segfaulting
Fix libgit2/libgit2sharp#247
|
|
976d9e13
|
2013-01-11T10:47:44
|
|
regex: Fixed warnings about unused parameter values.
There are different solutions to the problem. In this change, we
define an UNUSED macro that maps to __attribute__((unused)) when
compiling with gcc. Otherwise it is a NOOP. We apply this macro
in all function headers for each parameter value that is not used
within the function body.
The change is local to regex.
|
|
d2f14df8
|
2013-01-11T10:25:51
|
|
regex: Fixed several warnings about signed/unsigned conversions.
|
|
3a5e8fae
|
2013-01-10T15:18:49
|
|
Merge pull request #1221 from arrbee/checkout-without-pathspec-match
Add GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH
|
|
40342bd2
|
2013-01-10T15:15:37
|
|
Add GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH
This adds an option to checkout a la the diff option to turn off
fnmatch evaluation for pathspec entries. This can be useful to
make sure your "pattern" in really interpretted as an exact file
match only.
|
|
404880b1
|
2013-01-10T11:24:09
|
|
Merge pull request #1206 from ben/stock-auth
Expose stock user/pass credential utility
|
|
48de3061
|
2013-01-10T10:04:53
|
|
Merge pull request #1220 from ethomson/reuc_empty_sides
REUC needs to handle empty sides
|
|
eb3c247a
|
2013-01-10T11:56:02
|
|
REUC needs to handle empty sides
|
|
7bacc2c8
|
2013-01-10T08:15:10
|
|
Merge pull request #1182 from libgit2/odb-file-refresh
Sane refresh logic for #1180
|
|
3f31ce8d
|
2013-01-10T08:13:02
|
|
Merge pull request #1218 from sba1/amiga.2
Libgit2 for AmigaOS4
|
|
8fe6bc5c
|
2013-01-10T15:43:08
|
|
odb: Refresh on `exists` query too
|
|
891a4681
|
2013-01-04T17:42:41
|
|
dat errorcode
|
|
4a863c06
|
2013-01-03T20:36:26
|
|
Sane refresh logic
All the ODB backends have a specific refresh interface. When reading an
object, first we attempt every single backend: if the read fails, then
we refresh all the backends and retry the read one more time to see if
the object has appeared.
|
|
a22ad9fd
|
2013-01-10T06:01:00
|
|
Merge pull request #1219 from sba1/fetch-example-return-fix
Don't call pthread_exit() in the callback of the fetch example
|
|
cea994b9
|
2013-01-10T12:39:17
|
|
Don't call pthread_exit() in the callback.
Compilers that are not aware that pthread_exit() does not return
issue a warning when compiling the present code. This change
exchanges the call to pthread_exit() with a simple return
statement. According to the pthread specification this is
equivalent.
|
|
ccd298bb
|
2013-01-04T23:49:28
|
|
Ignore build-amiga
|
|
b41e24a6
|
2013-01-04T13:02:47
|
|
Add -fPIC only if BUILD_SHARED_LIBS is ON
|
|
707ede86
|
2013-01-04T03:25:05
|
|
Compile regexp dependency when AMIGA is defined.
Before it was compiled when CMake was actually run on AmigaOS.
|
|
c57c4af3
|
2012-12-29T23:27:14
|
|
Disable SSL when compiling for AmigaOS for now.
|
|
e9bb730c
|
2012-11-09T06:02:30
|
|
Added missing curly brackets and fixed compiler warnings.
|
|
ffb02b16
|
2013-01-08T12:58:20
|
|
Expose stock user/pass credential utility
|
|
520dcc1c
|
2013-01-08T19:55:59
|
|
Move credential helpers to their own (optional) header
|
|
252b2404
|
2013-01-09T08:43:19
|
|
Merge pull request #1214 from schu/push-handle-tags
push: properly handle tags
|
|
abeefbbe
|
2012-12-26T19:16:23
|
|
push: properly handle tags
Currently, push doesn't really handle tags when queueing objects. Fix
it.
|
|
f85b6284
|
2012-12-25T14:50:29
|
|
tests-clar/network: remove unused CREATE_BLOB
|
|
087f64d3
|
2012-12-17T18:48:26
|
|
Relax refspecs accepted by push
|
|
11fccddc
|
2013-01-08T17:16:47
|
|
Merge pull request #1212 from arrbee/fix-diff-empty-file
Resolve crash with diff against empty file
|
|
de590550
|
2013-01-08T17:11:11
|
|
Resolve crash with diff against empty file
It is not legal inside our `p_mmap` function to mmap a zero length
file. This adds a test that exercises that case inside diff and
fixes the code path where we would try to do that.
The fix turns out not to be a lot of code since our default file
content is already initialized to "" which works in this case.
Fixes #1210
|
|
f7e4a7c2
|
2013-01-08T15:34:55
|
|
Merge pull request #1209 from ethomson/update_copyright
update copyrights
|
|
359fc2d2
|
2013-01-08T17:07:25
|
|
update copyrights
|
|
d63dc61d
|
2013-01-08T15:04:05
|
|
Merge pull request #1208 from ethomson/ppc_sha1_asm_deadness
remove ppc sha1 asm
|
|
8f09f464
|
2013-01-08T16:54:44
|
|
remove ppc sha1 asm
|
|
d4df288d
|
2013-01-08T14:41:25
|
|
Merge pull request #1207 from ethomson/cmake_comment_len_sanity
keep comments at < 80 chars
|
|
d335e73a
|
2013-01-08T16:37:19
|
|
keep comments at < 80 chars
|
|
368a2b4e
|
2013-01-07T18:33:50
|
|
Merge pull request #1204 from arrbee/diff-blob-to-buffer
Have diff blob to buffer share code (and add tests)
|
|
f2b7f7a6
|
2013-01-07T15:44:22
|
|
Share git_diff_blobs/git_diff_blob_to_buffer code
This moves the implementation of these two APIs into common code
that will be shared between the two. Also, this adds tests for
the `git_diff_blob_to_buffer` API. Lastly, this adds some extra
`const` to a few places that can use it.
|
|
f6234cd9
|
2012-12-21T20:57:43
|
|
Introduce git_diff_blob_to_buffer
|
|
7dfc5c3c
|
2013-01-07T07:34:34
|
|
Merge pull request #1203 from phkelley/reverse_dak
Revert changes from git/git diff-delta.c by dak@gnu.org, proski@gnu.org
|
|
8e89839d
|
2013-01-07T07:06:18
|
|
Merge pull request #1202 from martinwoodward/add-florian
Add Florian Forster to hall of fame
|
|
f6ed5e2d
|
2013-01-07T09:53:43
|
|
Revert changes from git/git diff-delta.c by dak@gnu.org, proski@gnu.org
|
|
32f59bfb
|
2013-01-07T14:52:42
|
|
Add Florian Forster to hall of fame
Permission recieved from Florian Forster on Jan 07 2013 to include
any changes of his from core Git into LibGit2.
|
|
05e9fc58
|
2013-01-06T18:56:40
|
|
Merge pull request #1200 from ethomson/merge_cleanup
merge cleanup should actually cleanup and the test should actually test
|
|
c31ae146
|
2013-01-06T18:38:29
|
|
merge cleanup should actually cleanup and the test should actually test
|
|
7eb222fc
|
2013-01-06T10:39:35
|
|
Correct typos in documentation
|
|
e5562e18
|
2013-01-06T10:12:05
|
|
Revert "Tab align value of GIT_FILEMODE_BLOB_EXECUTABLE"
This reverts commit 47fbcbb5a8d4aad87371a381ebdadd04cde3fb2b.
|
|
47fbcbb5
|
2013-01-06T10:02:37
|
|
Tab align value of GIT_FILEMODE_BLOB_EXECUTABLE
|
|
8b107c67
|
2013-01-06T09:12:02
|
|
Merge pull request #1198 from nulltoken/travis/run-valgrind-on-success
travis: Only run Valgrind when all tests pass
|
|
ced8eff1
|
2013-01-06T17:21:37
|
|
travis: Only run Valgrind when all tests pass
|
|
5df7ad3e
|
2013-01-06T07:56:45
|
|
Merge pull request #1196 from scunz/allow_clone_without_master_branch
Allow to clone repositories that don't have a `master` branch
|
|
74f880a6
|
2013-01-06T07:56:08
|
|
Merge pull request #1197 from nulltoken/travis/run-online-tests
travis: Include the online suite when running against Travis
|
|
d01fe380
|
2013-01-06T15:26:54
|
|
reset: Fix a memory leak
|
|
b97fabfa
|
2013-01-06T15:18:00
|
|
tests: Fix some memory leaks
|
|
d1aee477
|
2013-01-06T15:09:27
|
|
clone: Fix a memory leak
|
|
09556895
|
2013-01-06T14:40:32
|
|
travis: Include the online suite when running against Travis
|
|
2ba6f3c7
|
2013-01-06T14:30:52
|
|
Allow to clone repositories that don't have a `master` branch
Before this, we error out from `reference_matches_remote_head` if the
reference we're searching for does not exist.
Since we explicitly check if master is existing in `update_head_to_remote`
and error out if it doesn't, a repository without master branch could
not be cloned.
In fact this was later clobbered by what is fixed in #1194.
However, this patch introduces a `found` member in `head_info` and sets
it accordingly. That also saves us from checking the string length of
`branchname` a few times.
|
|
f9b4adbe
|
2013-01-05T18:52:09
|
|
Merge pull request #1194 from libgit2/dont-clobber-errors
git_mwindow_file_deregister() shouldn't return errors
|
|
f9b55bcb
|
2013-01-05T18:20:42
|
|
git_mwindow_file_deregister() shouldn't return errors
As a function that appears to only be called on error paths, I don't
think it makes sense for it to return an error, or clobber the global
giterr. Note that no existing callsites actually check the return
code.
In my own application, there are errors where the real error ends
up being hidden, as git_mwindow_file_deregister() clobbers the
global giterr. I'm not sure this error is even relevant?
|
|
d74b1bc5
|
2013-01-05T15:44:19
|
|
Merge pull request #1131 from libgit2/correct-ahead-behind
Fix an issue with ahead-behind for lopsided traversal
|
|
2b7b3e1f
|
2013-01-05T04:30:24
|
|
Merge pull request #1193 from libgit2/no-newline-packed-refs
Handle packed refs with no trailing newline
|
|
ef82ff30
|
2013-01-05T00:46:39
|
|
Handle packed refs with no trailing newline
I saw a repo in the wild today which had a master branch ref which was packed, but had no trailing newline. Git handled it fine, but libgit2 choked on it. Fix seems simple enough. If we don't see a newline, assume the end of the buffer is the end of the ref line.
|
|
7511d8b4
|
2013-01-04T17:28:09
|
|
Merge pull request #1192 from arrbee/fix-win32-checkout-test
Fix win32 checkout test
|
|
2f089539
|
2013-01-04T17:17:37
|
|
Actually fix win32 checkout test
It turns out that using REMOVE_UNTRACKED with checkout for this
particular test was causing the .gitattributes file to be removed
and so we do have to allow for the CRs in the created file...
|
|
bebdbcd4
|
2013-01-04T16:56:21
|
|
Fix crlf issue with checkout tests
Move some checkout utility functions into a shared file and fix
some crlf filtering issues when verifying file contents.
|
|
7a68142e
|
2013-01-04T16:49:46
|
|
Merge pull request #1191 from maxpow4h/fix-format-string
Fixed size_t format string warning
|
|
79ff264e
|
2013-01-05T11:34:19
|
|
Fixed size_t format string warning
|
|
cfc7b835
|
2013-01-04T16:14:49
|
|
Merge pull request #1118 from arrbee/fix-reset-hard
Fix checkout corner cases, index handling, and reset hard behavior
|
|
817d6251
|
2013-01-03T16:56:27
|
|
Fix checkout of index-only dirs and prefixed paths
There are a couple of checkout bugs fixed here. One is with
untracked working directory entries that are prefixes of tree
entries but not in a meaningful way (i.e. "read" is a prefix of
"readme.txt" but doesn't interfere in any way). The second bug
is actually a redo of 07edfa0fc640f85f95507c3101e77accd7d2bf0d
where directory entries in the index that are not in the diff
were not being removed correctly. That fix remedied one case
but broke another.
|
|
7fc00435
|
2013-01-03T15:48:52
|
|
Add index API to remove all files in a directory
This adds the git_index_remove_directory API plus tests.
|
|
1b88faf7
|
2013-01-03T14:21:25
|
|
Fix oid tostr issue with NULL oid
I made a small change to the behavior of this code and apparently
got it wrong. Sigh.
|
|
d8889d2b
|
2013-01-03T14:08:53
|
|
Fix checkout bug rmv untracked trees from index
When checking out with the GIT_CHECKOUT_REMOVE_UNTRACKED option
and there was an entire tree in the working directory and in the
index that is not in the baseline nor target commit, the tree was
correctly(?) removed from the working directory but was not
successfully removed from the index. This fixes that and adds a
test of the functionality.
|
|
dde7602a
|
2013-01-03T13:22:34
|
|
Fix memory leak with checkout tree iterator
|
|
0d70f650
|
2013-01-03T10:51:18
|
|
Fixing checkout UPDATE_ONLY and adding tests
This adds a bunch of new checkout tests and in the process I found
a bug in the GIT_CHECKOUT_UPDATE_ONLY flag which I fixed.
|
|
2850252a
|
2013-01-03T09:11:52
|
|
Oh yeah, bugs from my rebase
|
|
77cffa31
|
2013-01-02T17:14:00
|
|
Simplify checkout documentation
This moves a lot of the detailed checkout documentation into a new
file (docs/checkout-internals.md) and simplifies the public docs
for the checkout API.
|
|
b3fb9237
|
2013-01-02T17:12:45
|
|
Clone should use GIT_CHECKOUT_SAFE_CREATE
For clone to work as expected, it should be using a SAFE_CREATE
checkout (i.e. create files that are missing, even if the target
tree matches the current HEAD).
|
|
c50c58de
|
2013-01-02T17:10:56
|
|
Extend tests for checkout with typechanges
Test a number of other cases, including intentionally forced
conflicts and deeper inspection that trees get created properly.
There is a still a bug in checkout because the first test here
(i.e. test_checkout_typechange__checkout_typechanges_safe) should
be able to pass with GIT_CHECKOUT_SAFE as a strategy, but it will
not because of some lingering submodule checkout issues.
|
|
e0548c0e
|
2013-01-02T17:09:07
|
|
Fix some submodule and typechange checkout cases
There were a bunch of small bugs in the checkout code where I was
assuming that a typechange was always from a tree to a blob or
vice versa. This fixes up most of those cases. Also, there were
circumstances where the submodule definitions were changed by the
checkout and the submodule data was not getting reloaded properly
before the new submodules were checked out.
|
|
16a666d3
|
2013-01-02T17:05:54
|
|
Fix workdir notifications and removals
The notifications were broken from the various iterations over
this code and were not returning working dir item data correctly.
Also, workdir items that were alphabetically after the last item
in diff were not being processed.
|
|
546d65a8
|
2013-01-02T17:01:34
|
|
Fix up spoolandsort iterator usage
The spoolandsort iterator changes got sort-of cherry picked out of
this branch and so I dropped the commit when rebasing; however,
there were a few small changes that got dropped as well (since the
version merged upstream wasn't quite the same as what I dropped).
|
|
a9a73007
|
2012-12-20T16:16:22
|
|
Submodule caching fix and location API
This adds a new API to the submodule interface that just returns
where information about the submodule was found (e.g. config file
only or in the HEAD, index, or working directory).
Also, the old "refresh" call was potentially keeping some stale
submodule data around, so this simplfies that code and literally
discards the old cache, then reallocates.
|
|
6f58332f
|
2012-12-20T16:15:02
|
|
Fix use of uninitialized variable
|
|
a6a82e1a
|
2012-12-19T15:06:40
|
|
Improve error propagation in stash
Stash was sometimes obscuring the actual error code, replacing it
with a -1 when there was more descriptive value. This updates
stash to preserve the original error code more reliably along
with a variety of other error handling tweaks.
I believe this is an improvement, but arguably, preserving the
underlying error code may result in values that are harder to
interpret by the caller who does not understand the internals.
Discussion is welcome!
|
|
8fe713cc
|
2012-12-19T15:06:14
|
|
Make git_oid_tostr use out buffer for NULL oid
Previously a NULL oid was handled like an empty buffer and
returned a status empty string. This makes git_oid_tostr()
set the output buffer to the empty string instead.
|
|
5cf9875a
|
2012-12-18T15:19:24
|
|
Add index updating to checkout
Make checkout update entries in the index for all files that are
updated and/or removed, unless flag GIT_CHECKOUT_DONT_UPDATE_INDEX
is given. To do this, iterators were extended to allow a little
more introspection into the index being iterated over, etc.
|
|
7e5c8a5b
|
2012-12-10T15:31:43
|
|
More checkout improvements
This flips checkout back to be driven off the changes between
the baseline and the target trees. This reinstates the complex
code for tracking the contents of the working directory, but
overall, I think the resulting logic is easier to follow.
|
|
cf208031
|
2012-12-06T13:36:17
|
|
Rework checkout internals (again)
I've tried to map out the detailed behaviors of checkout and make
sure that we're handling the various cases correctly, along with
providing options to allow us to emulate "git checkout" and "git
checkout-index" with the various flags. I've thrown away flags
in the checkout API that seemed like clutter and added some new
ones. Also, I've converted the conflict callback to a general
notification callback so we can emulate "git checkout" output and
display "dirty" files.
As of this commit, the new behavior is not working 100% but some
of that is probably baked into tests that are not testing the
right thing. This is a decent snapshot point, I think, along the
way to getting the update done.
|
|
bfe7d7de
|
2012-11-26T17:24:02
|
|
Reorder operations in git reset
This corrects the order of operations in git reset so that the
checkout to reset the working directory content is done before
the HEAD is moved. This allows us to use the HEAD and the index
content to know what files can / should safely be reset.
Unfortunately, there are still some cases where the behavior of
this revision differs from core git. Notable, a file which has
been added to the index but is not present in the HEAD is
considered to be tracked by core git (and thus removable by a
reset command) whereas since this loads the target state into
the index prior to resetting, it will consider such a file to be
untracked and won't touch it. That is a larger fix that I'll
defer to a future commit.
|
|
c5df10f4
|
2012-11-30T10:59:03
|
|
Failing test on git_checkout_tree when removing directories
|
|
d0951175
|
2012-12-06T16:12:21
|
|
Add failing test to demonstrate wrong checkout behaviour
|
|
6fee906c
|
2012-12-18T15:13:11
|
|
missing error message is confusing
|