|
eeeb9654
|
2014-03-30T15:35:56
|
|
Reinstate efficient submodule reloading
This makes it so that git_submodule_reload_all will actually only
reload changed items unless the `force` flag is used.
|
|
a4ccd2b0
|
2014-03-29T15:23:01
|
|
Use enums instead of bools for submodule options
When forcing cache flushes or reload, etc., it is easier to keep
track of intent using enums instead of plain bools. Also, this
fixes a bug where the cache was not being properly refreshes by
a git_submodule_reload_all.
|
|
69b6ffc4
|
2014-03-28T14:02:21
|
|
Make a real submodule cache object
This takes the old submodule cache which was just a git_strmap
and makes a real git_submodule_cache object that can contain other
things like a lock and timestamp-ish data to control refreshing of
submodule info.
|
|
db0e7878
|
2014-03-28T16:50:49
|
|
Make submodule refresh a bit smarter
This makes submodule cache refresh actually look at the timestamps
from the data sources for submodules and reload as needed if they
have changed since the last refresh.
|
|
18234b14
|
2014-02-21T09:14:16
|
|
Add efficient git_buf join3 API
There are a few places where we need to join three strings to
assemble a path. This adds a simple join3 function to avoid the
comparatively expensive join_n (which calls strlen on each string
twice).
|
|
d543d59c
|
2014-03-28T10:42:38
|
|
Add some funny options for debugging status
This allows you to use a --repeat option to run status over and
over and see how the output changes as you make local directory
changes without reopening the git_repository object each time.
Also, adds a flag to explicitly list the submodules before status.
|
|
e402d2f1
|
2014-03-24T11:25:59
|
|
Submodule sync refactoring
Turns out there was already a helper to do what I wanted to do,
so I just made it so that I could use it for sync and switched to
that instead.
|
|
8286300a
|
2013-12-18T11:48:57
|
|
Fix git_submodule_sync and add new config helper
This fixes `git_submodule_sync` to correctly update the remote URL
of the default branch of the submodule along with the URL in the
parent repository config (i.e. match core Git's behavior).
Also move some useful helper logic from the submodule code into
a shared config API `git_config__update_entry` that can either set
or delete an entry with constraints like not overwriting or not
creating a new entry. I used that helper to update a couple other
places in the code.
|
|
2450d4c6
|
2014-04-01T09:33:18
|
|
Merge pull request #2208 from libgit2/vmg/mempack
In-memory packing backend
|
|
d67397dd
|
2014-04-01T09:32:17
|
|
Merge pull request #2226 from libgit2/rb/submodule-sorting-fix
Fix submodule sort order during iteration
|
|
82e1c1af
|
2014-04-01T17:21:04
|
|
Merge pull request #2229 from linquize/Wdeclaration-after-statement
Add CFLAGS -Wdeclaration-after-statement
|
|
9e1ed9f2
|
2014-04-01T23:01:40
|
|
Add CFLAGS -Wdeclaration-after-statement
This warns local variables declarations after statement, which helps not to break MSVC
|
|
a2d18a02
|
2014-04-01T13:47:52
|
|
Merge pull request #2228 from mekishizufu/example_short_id
Use git_object_short_id in examples
|
|
9325460a
|
2014-04-01T13:47:44
|
|
Merge pull request #2206 from libgit2/cmn/inmemory-swap-order
Rename in-memory remote to anonymous and swap url and fetch order
|
|
fd536d29
|
2014-03-26T11:15:57
|
|
remote: rename inmemory to anonymous and swap url and fetch order
The order in this function is the opposite to what
create_with_fetchspec() has, so change this one, as url-then-refspec is
what git does.
As we need to break compilation and the swap doesn't do that, let's take
this opportunity to rename in-memory remotes to anonymous as that's
really what sets them apart.
|
|
6ad59ef1
|
2014-04-01T12:16:40
|
|
examples: Use git_object_short_id
|
|
3ab57816
|
2014-03-31T23:23:32
|
|
Merge pull request #2178 from libgit2/rb/fix-short-id
Fix git_odb_short_id and git_odb_exists_prefix bugs
|
|
b76b5d34
|
2014-03-31T13:33:11
|
|
Improve test of submodule name sorting
|
|
7dcd42a5
|
2014-03-31T13:31:01
|
|
Cleanups
|
|
c856f8c5
|
2014-03-31T12:27:05
|
|
Fix submodule sorting in workdir iterator
With the changes to how git_path_dirload_with_stat handles things
that look like submodules, submodules could end up sorted in the
wrong order with the workdir iterator. This moves the submodule
check earlier in the iterator processing of a new directory so
that the submodule name updates will happen immediately and the
sort order will be correct.
|
|
945c92a5
|
2014-03-31T12:26:46
|
|
Add faster git_submodule__is_submodule check
|
|
fad04120
|
2014-03-31T20:15:35
|
|
Merge pull request #2224 from ethomson/merge_file_const
Const up members of git_merge_file_result
|
|
7f930ded
|
2014-03-31T09:38:06
|
|
Const up members of git_merge_file_result
|
|
336e8957
|
2014-03-31T19:17:01
|
|
Merge pull request #2222 from ethomson/merge_head_id
Introduce git_merge_head_id
|
|
976634c4
|
2014-03-30T19:56:18
|
|
Introduce git_merge_head_id
|
|
08833427
|
2014-03-31T18:43:13
|
|
Merge pull request #2219 from tiennou/reset-need-pack
Don't reset need_pack
|
|
31143b36
|
2014-03-30T18:08:32
|
|
Don't reset need_pack
While looping over multiple heads, an up-to-date head will clobber the `remote->need_pack` setting, preventing the rest of the machinery from building and downloading a pack-file, breaking fetches.
|
|
7b445c21
|
2014-03-29T20:05:06
|
|
Merge pull request #2216 from ethomson/clar
Update clar to 4b75388
|
|
ed38bff1
|
2014-03-28T17:54:43
|
|
Update clar to 4b75388
|
|
71ba28e3
|
2014-03-28T19:03:37
|
|
Merge pull request #2214 from ethomson/sandbox_config
RFC: Sandbox HOME during test execution
|
|
e0d61c7b
|
2014-03-28T10:10:59
|
|
Sandbox configuration during test runs
|
|
10be94e9
|
2014-03-28T10:09:13
|
|
Update clar to 587f88a
|
|
04d4d674
|
2014-03-27T23:40:28
|
|
Merge pull request #2212 from libgit2/rb/submodule-use-after-free
Fix use-after-free in submodule reload code and other memory leaks
|
|
dae8ba6e
|
2014-03-27T15:29:32
|
|
Fix memory leak of test repository object
|
|
acdc7cff
|
2014-03-27T15:29:17
|
|
Fix memory leak of submodule branch name
|
|
add8db06
|
2014-03-27T15:28:29
|
|
Fix use-after-free in submodule reload
If the first call to release a no-longer-existent submodule freed
the object, the check if a second is needed would dereference the
data that was just freed.
|
|
041fad4a
|
2014-03-27T08:32:46
|
|
Merge pull request #2210 from libgit2/rb/submodule-api-with-no-submodules
Fix segfault if gitmodules is invalid
|
|
380f864a
|
2014-03-26T16:06:21
|
|
Fix error when submodule path and name differ
When a submodule was inserted with a different path and name, the
return value from khash greater than zero was allowed to propagate
back out to the caller when it should really be zeroed. This led
to a possible crash when reloading submodules if that was the
first time that submodule data was loaded.
|
|
22df47cb
|
2014-03-26T14:38:26
|
|
Fix segfault if gitmodules is invalid
The reload_all call could end up dereferencing a NULL pointer if
there was an error while attempting to load the submodules config
data (i.e. invalid content in the gitmodules file). This fixes it.
|
|
f4afcaa0
|
2014-03-26T19:37:01
|
|
Merge pull request #2209 from ethomson/cleanup
Cleanup some warnings and mem leaks
|
|
9cb99e8b
|
2014-03-26T12:43:41
|
|
Free temporary merge index
|
|
2b848e47
|
2014-03-26T12:33:37
|
|
Decorate unused params as unused in revwalk::hidecb tests
|
|
dc7efa1a
|
2014-03-26T18:29:34
|
|
Merge pull request #2204 from libgit2/rb/submodule-reference-counting
Make submodules externally refcounted
|
|
6105d597
|
2014-03-26T18:17:08
|
|
In-memory packing backend
|
|
77b699e0
|
2014-03-26T10:29:11
|
|
Merge pull request #2205 from libgit2/rb/submodule-untracked-vs-ignored
Update behavior for untracked contained repositories
|
|
fcbbe1bd
|
2014-03-26T10:27:42
|
|
Merge pull request #2166 from ethomson/giterr_restore
clone: don't overwrite original error message
|
|
1df8ad01
|
2014-03-06T16:00:52
|
|
clone: don't overwrite original error message
|
|
f2f2d97f
|
2014-03-24T17:48:54
|
|
Test for giterr_capture
|
|
591e8295
|
2014-03-25T16:52:01
|
|
Fix submodule leaks and invalid references
This cleans up some places I missed that could hold onto submodule
references and cleans up the way in which the repository cache is
both reloaded and released so that existing submodule references
aren't destroyed inappropriately.
|
|
d3bc95fd
|
2014-03-25T12:37:05
|
|
Update behavior for untracked sub-repos
When a directory containing a .git directory (or even just a plain
gitlink) was found, libgit2 was going out of its way to treat it
specially. This seemed like it was necessary because the diff
code was not originally emulating Git's behavior for untracked
directories correctly (i.e. scanning for ignored vs untracked items
inside). Now that libgit2 diff mimics Git's untracked directory
behavior, the special handling for contained Git repos is actually
incorrect and this commit rips it out.
|
|
451aaf86
|
2014-03-25T10:33:18
|
|
Merge pull request #2181 from anuraggup/hide_cb
Callback function to hide commit and its parents in revision walker
|
|
a15c7802
|
2014-03-25T09:14:48
|
|
Make submodules externally refcounted
`git_submodule` objects were already refcounted internally in case
the submodule name was different from the path at which it was
stored. This makes that refcounting externally used as well, so
`git_submodule_lookup` and `git_submodule_add_setup` return an
object that requires a `git_submodule_free` when done.
|
|
34ffe223
|
2014-03-24T11:02:02
|
|
Modified test for revwalk_hidecb
|
|
892b7c9f
|
2014-03-11T12:13:29
|
|
Correcting format of comments in header file
|
|
169fb81d
|
2014-03-11T11:56:26
|
|
Undoing local change done for building on x64
|
|
7ca1584b
|
2014-03-11T11:49:19
|
|
Conforming to libgit2 coding style.
|
|
46e4d82d
|
2014-03-10T16:21:56
|
|
Remove unused push_cb_data
|
|
3a666071
|
2014-03-10T15:38:01
|
|
Unit Tests for hide_cb in revwalk
|
|
892aa808
|
2014-03-10T12:00:33
|
|
Callback to hide commits in revision walker.
|
|
f210cb5b
|
2014-03-24T10:58:10
|
|
Merge pull request #2201 from ethomson/gitbuf_test_fix
env test needs to deref git_buf's ptr
|
|
fdc54eb2
|
2014-03-24T10:56:11
|
|
env test needs to deref git_buf's ptr
|
|
85a41fc4
|
2014-03-24T18:09:13
|
|
Merge pull request #2183 from ethomson/merge_refactor
Refactor the `git_merge` API
|
|
f57cc638
|
2014-03-24T13:52:02
|
|
Merge pull request #2200 from libgit2/cmn/opts-buf
settings: use git_buf for returning strings
|
|
6057c4a0
|
2014-03-23T15:48:13
|
|
opts: bits are not bytes
The default cache size is 256 megabytes, not megabits as claimed in the
docs.
|
|
42dee8ec
|
2014-03-23T13:34:33
|
|
settings: use git_buf for returning strings
This survived the last round of culling, as the signature is only in the
comments.
|
|
0deb534d
|
2014-03-21T12:25:53
|
|
Merge pull request #2197 from linquize/assert-wrong
Fix wrong assertion
|
|
31a14982
|
2014-03-21T17:36:34
|
|
Fix wrong assertion
Fixes issue #2196
|
|
36a80fda
|
2014-03-20T21:06:23
|
|
Merge pull request #2195 from libgit2/cmn/revwalk-no-hide
revwalk: don't try to find merge bases when there can be none
|
|
704b55cc
|
2014-03-20T20:24:11
|
|
revwalk: don't try to find merge bases when there can be none
As a way to speed up the cases where we need to hide some commits, we
find out what the merge bases are so we know to stop marking commits as
uninteresting and avoid walking down a potentially very large amount of
commits which we will never see. There are however two oversights in
current code.
The merge-base finding algorithm fails to recognize that if it is only
given one commit, there can be no merge base. It instead walks down the
whole ancestor chain needlessly. Make it return an empty list
immediately in this situation.
The revwalk does not know whether the user has asked to hide any commits
at all. In situation where the user pushes multiple commits but doesn't
hide any, the above fix wouldn't do the trick. Keep track of whether the
user wants to hide any commits and only run the merge-base finding
algorithm when it's needed.
|
|
7d633572
|
2014-03-20T20:08:01
|
|
Merge pull request #2194 from libgit2/cmn/reflog-bare
reflog: follow core.logallrefupdates
|
|
1c351659
|
2014-03-20T09:55:47
|
|
reflog: remove some dead code
|
|
83504371
|
2014-03-19T22:27:23
|
|
reflog: follow core.logallrefupdates
On bare by default, or when core.logallrefupdates is false, we must not
write the reflog.
|
|
58c2b1c4
|
2014-03-20T09:35:22
|
|
UNBORN implies FAST_FORWARD
|
|
ac584fcf
|
2014-03-18T16:04:51
|
|
Introduce GIT_MERGE_ANALYSIS_UNBORN
|
|
97f3462a
|
2014-03-18T13:14:09
|
|
git_merge_status -> git_merge_analysis
|
|
d9fdee6e
|
2014-03-12T09:43:53
|
|
Remove `git_merge_result` as it's now unnecessary
|
|
5aa2ac6d
|
2014-03-11T22:47:39
|
|
Update git_merge_tree_opts to git_merge_options
|
|
02105a27
|
2014-03-11T18:40:38
|
|
Change signature of `git_merge` to take merge and checkout opts
|
|
1c0b6a38
|
2014-03-11T17:58:10
|
|
Remove fastforward / uptodate from `git_merge`
|
|
ccb30827
|
2014-03-11T17:19:35
|
|
Add `git_merge_status` to provide info about an upcoming merge
|
|
05d47768
|
2014-03-10T22:30:41
|
|
Introduce git_merge_file for consumers
|
|
f29e4899
|
2014-03-19T19:51:57
|
|
Merge pull request #2193 from libgit2/cmn/reflog-HEAD
Reflog all the way
|
|
99797c96
|
2014-03-19T18:14:35
|
|
reflog: handle symref chains
Given HEAD -> master -> foo, when updating foo's reflog we should also
update HEAD's, as it's considered the current branch.
|
|
6aaae94a
|
2014-03-19T16:30:37
|
|
reflog: handle the birth of a branch
The reflog append function was overzealous in its checking. When passed
an old and new ids, it should not do any checking, but just serialize
the data to a reflog entry.
|
|
afc57eb4
|
2014-03-19T06:59:09
|
|
reflog: simplify the append logic
Remove some duplicated logic.
|
|
1afe1400
|
2014-03-18T22:16:58
|
|
refdb: don't update when there's no need
If the caller wants to update a ref to point to the same target as it
currently has, we should return early and avoid writing to the reflog.
|
|
bac95e6e
|
2014-03-18T19:41:03
|
|
reflog: more comprehensive HEAD tests
The existing ones lack checking zeroed ids when switching back from an
unborn branch as well as what happens when detaching.
The reflog appending function mistakenly wrote zeros when dealing with a
detached HEAD. This explicitly checks for those situations and fixes
them.
|
|
5dd7d243
|
2014-03-18T16:23:51
|
|
Merge pull request #2189 from Aimeast/octopus
Implement git_merge_base_octopus
|
|
0aee025b
|
2014-03-18T22:31:14
|
|
Implement git_merge_base_octopus
|
|
dd4c6962
|
2014-03-18T15:25:43
|
|
Merge pull request #2192 from phkelley/development
Seamless support for NTLM/Kerberos auth on Windows
|
|
1392418e
|
2014-03-18T09:04:33
|
|
Seamless support for NTLM/Kerberos auth on Windows
|
|
a7af1f7d
|
2014-03-18T14:46:42
|
|
Merge pull request #2190 from libgit2/cmn/current-branch-reflog
refs: append to the HEAD reflog when updating the current branch
|
|
dd5e74e5
|
2014-03-17T15:57:25
|
|
Merge pull request #2191 from libgit2/cmn/projects
Add a few projects to the list
|
|
5c8096c5
|
2014-03-17T19:44:07
|
|
Add a few projects to the list
|
|
4b7e1b9e
|
2014-01-15T13:19:48
|
|
refs: append to the HEAD reflog when updating the current branch
When we update the current branch, we must also append to HEAD's reflog
to keep them in sync.
This is a bit of a hack, but as git.git says, it covers 100% of
default cases.
|
|
cb562c3f
|
2014-03-17T17:36:51
|
|
repo: remove test which deletes HEAD
This is not something anybody would ever do; removing HEAD makes the
.git/ directory no longer be a repository, so we wouldn't be expected to
handle such a situation.
|
|
853b1407
|
2014-03-17T16:10:33
|
|
branch: constness fixes
|
|
2b40390f
|
2014-03-13T15:54:53
|
|
refs: fix copy-paste doc error
|
|
e59e712f
|
2014-03-12T12:05:35
|
|
Merge pull request #2184 from libgit2/rb/fix-revwalk-order-regression
Fix pqueue sort boundary condition bug
|
|
5302a885
|
2014-03-12T11:21:55
|
|
Fix pqueue sort boundary condition bug
If the pqueue comparison fn returned just 0 or 1 (think "a<b")
then the sort order of returned items could be wrong because there
was a "< 0" that really needed to be "<= 0". Yikes!!!
|