|
2bed3553
|
2014-04-18T00:34:04
|
|
cherry-pick: terminate the commit id string
We treat this as a NUL-terminated string, so make sure that we add the
terminator.
|
|
c5cacc4e
|
2014-04-16T19:09:35
|
|
Merge pull request #2261 from jacquesg/format-patch
Support for format-patch
|
|
3b2d14a7
|
2014-04-16T18:51:38
|
|
Merge pull request #2270 from csware/fix_git_branch_t_enum
Add GIT_BRANCH_LOCAL_AND_REMOTE to git_branch_t enum
|
|
fa13ee2d
|
2014-04-16T16:59:43
|
|
Add GIT_BRANCH_ALL to git_branch_t enum
git_branch_t is an enum so requesting GIT_BRANCH_LOCAL | GIT_BRANCH_REMOTE is not possible as it is not a member of the enum (at least VS2013 C++ complains about it).
This fixes a regression introduced in commit a667ca8298193b3103c1dbdcb1f6c527e6e99eb2 (PR #1946).
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
37ab5ecc
|
2014-04-16T10:51:25
|
|
Merge pull request #2269 from libgit2/rb/fix-leading-slash-ignores
Fix core.excludesfile named .gitignore
|
|
0f7aa47d
|
2014-04-15T20:26:23
|
|
Merge pull request #2235 from jacquesg/cherry-pick
Add cherry pick support
|
|
a56b418d
|
2014-04-11T22:57:15
|
|
Sanitize git_diff_format_email_options' summary parameter
It will form part of the subject line and should thus be one line.
|
|
d8cc1fb6
|
2014-04-11T19:15:15
|
|
Introduce git_diff_format_email and git_diff_commit_as_email
|
|
39206ca2
|
2014-04-14T17:12:56
|
|
Added a test case for formatting a binary patch e-mail
|
|
360314c9
|
2014-04-11T19:03:29
|
|
Introduce git_diff_get_stats, git_diff_stats_files_changed, git_diff_stats_insertions, git_diff_stats_deletions and git_diff_stats_to_buf
|
|
cab39378
|
2014-04-11T19:14:18
|
|
Added git_diff_stats test files
|
|
a9528b8f
|
2014-04-14T15:59:48
|
|
Fix core.excludesfile named .gitignore
Ignore rules with slashes in them are matched using FNM_PATHNAME
and use the path to the .gitignore file from the root of the
repository along with the path fragment (including slashes) in
the ignore file itself. Unfortunately, the relative path to the
.gitignore file was being applied to the global core.excludesfile
if that was also named ".gitignore".
This fixes that with more precise matching and includes test for
ignore rules with leading slashes (which were the primary example
of this being broken in the real world).
This also backports an improvement to the file context logic from
the threadsafe-iterators branch where we don't rely on mutating
the key of the attribute file name to generate the context path.
|
|
289e31cd
|
2014-04-14T23:11:06
|
|
Merge pull request #2264 from jacquesg/fix-warnings
Correct C90 warnings
|
|
6fefb7af
|
2014-04-13T19:53:35
|
|
Capture conflict information in MERGE_MSG for revert and merge
|
|
103b7d21
|
2014-04-02T13:57:11
|
|
Added cherry pick tests
|
|
4d7b9939
|
2014-04-01T22:18:19
|
|
Added cherry-pick support
|
|
399f2b62
|
2014-04-07T20:15:45
|
|
Introduce git_merge__extract_conflict_paths
|
|
06d772d8
|
2014-04-14T14:49:01
|
|
Merge pull request #2262 from libgit2/rb/fix-ignore-pop
Fix bug popping ignore files during wd iteration
|
|
efaa342c
|
2014-04-11T22:07:49
|
|
Correct C90 warnings
|
|
7a28f268
|
2014-04-10T12:44:51
|
|
Fix const-correctness of git_patch_get_delta, git_patch_num_hunks, git_patch_num_lines_in_hunk
|
|
51297cad
|
2014-04-10T12:44:12
|
|
Added RFC2822 date format test cases
|
|
8e14b47f
|
2014-04-10T12:42:29
|
|
Introduce git__date_rfc2822_fmt. Allows for RFC2822 date headers
|
|
8f7bc646
|
2014-04-10T16:33:39
|
|
Fix bug popping ignore files during wd iteration
There were a couple bugs in popping ignore files during iteration
that could result in incorrect decisions be made and thus ignore
files below the root either not being loaded correctly or not
being popped at the right time.
One bug was an off-by-one in comparing the path of the gitignore
file with the path being exited during iteration.
The second bug was not correctly truncating the path being tracked
during traversal if there were no ignores on the list (i.e. when
you have no .gitignore at the root, but do have some in contained
directories).
|
|
b3b36a68
|
2014-04-10T12:43:16
|
|
Introduce git_buf_putcn
Allows for inserting the same character n amount of times
|
|
bcc62293
|
2014-04-09T12:45:49
|
|
Merge pull request #2259 from libgit2/vmg/state-cleanup
Rewrite `state-cleanup`
|
|
c3dcbe84
|
2014-04-09T12:43:27
|
|
Rewrite `git_repository__cleanup_files`
|
|
361e9192
|
2014-04-09T12:09:30
|
|
Merge pull request #2257 from libgit2/rb/fix-submodules-with-tracked-content
Update treatment of submodule-like directories with tracked content in the parent
|
|
3ed8d00c
|
2014-04-09T12:08:30
|
|
Merge pull request #2258 from libgit2/jk/userdiff-cc
pull userdiff pattern updates from git.git
|
|
9ce60fad
|
2014-04-08T18:40:05
|
|
userdiff: update ada patterns
This is the moral equivalent of
git/git@39a87a29ce364ed3337e535adce5973731ba2968
from Adrian Johnson <ajohnson@redneon.com>.
|
|
76b4e3d4
|
2014-04-08T18:41:39
|
|
userdiff: update C/C++ patterns
This pulls upstream changes from:
git/git@8a2e8da367f7175465118510b474ad365161d6b1
git/git@abf8f9860248d8c213600974742f18dadaa8fbb5
git/git@407e07f2a6f55e605fda9e90cb622887269f68b5
all by Johannes Sixt <j6t@kdbg.org>.
|
|
eb7e17cc
|
2014-04-08T14:47:20
|
|
Update submodules with parent-tracked content
This updates how libgit2 treats submodule-like directories that
actually have tracked content inside of them. This is a strange
corner case, but it seems that many people have abortive submodule
setups and then just went ahead and added the files into the
parent repository. In this case, we should just treat the
submodule as if it was a normal directory.
Libgit2 will still try to skip over real submodules and contained
repositories that do not have tracked files inside them, but this
adds some new handling for cases where the apparently submodule
data is in conflict with the actual list of tracked files.
|
|
ce2e8269
|
2014-04-08T16:52:20
|
|
graph: handle not finding a merge base gracefully
git_merge_base() returns GIT_ENOTFOUND when it cannot find a merge
base. graph_desdendant_of() returns a boolean value (barring any
errors), so it needs to catch the NOTFOUND return value and convert it
into false, as not merge base means it cannot be a descendant.
|
|
2795fb4d
|
2014-04-08T16:37:39
|
|
Merge pull request #2256 from jacquesg/graph-descendant
Correct grouping of parentheses
|
|
8a8e3127
|
2014-04-08T16:20:49
|
|
Added a no path test for git_graph_descendant_of
|
|
56f8e06e
|
2014-04-08T15:46:45
|
|
Correct grouping of parentheses
git_graph_descendant_of was returning the result of an assignment
|
|
5f74c476
|
2014-04-07T20:51:39
|
|
Merge pull request #2255 from libgit2/rb/fix-multiple-nfd-iconv-bug
Fix bug with multiple iconv conversions in one dir
|
|
7167fd7e
|
2014-04-07T11:51:12
|
|
vmg is always right
|
|
c813b345
|
2014-04-07T11:45:32
|
|
Fix bug with multiple iconv conversions in one dir
The internal buffer in the `git_path_iconv_t` structure was not
being reset before the calls to `iconv` were made to convert data,
so if there were multiple decomposed Unicode paths in a single
directory, paths after the first one were being appended to the
first instead of treated as independent data.
|
|
553184a7
|
2014-04-03T10:53:42
|
|
Update AUTHORS
|
|
c0311295
|
2014-04-07T17:32:23
|
|
git_repository_state_cleanup() should remove rebase-merge/, rebase-apply/ and BISECT_LOG
|
|
6720eef9
|
2014-04-07T11:22:23
|
|
Merge pull request #2249 from libgit2/rb/starstar-fnmatch
Add support for ** matches in ignores
|
|
c7d96060
|
2014-04-06T11:20:22
|
|
Fix fnmatch comment to be clearer
|
|
c8c91433
|
2014-04-06T10:42:26
|
|
More ** tests for pattern rules
|
|
52056db9
|
2014-04-06T16:22:29
|
|
Merge pull request #2250 from jacquesg/vector-leak
Don't lose our elements when calling git_vector_set()
|
|
4998009a
|
2014-04-06T15:06:46
|
|
Don't lose our elements when calling git_vector_set()
|
|
2b6b85f1
|
2014-04-04T17:02:12
|
|
Add support for ** matches in ignores
This is an experimental addition to add ** support to fnmatch
pattern matching in libgit2. It needs more testing.
|
|
923c8400
|
2014-04-04T14:24:08
|
|
Merge pull request #2215 from libgit2/rb/submodule-cache-fixes
Improve submodule cache management
|
|
f34408a7
|
2014-04-04T14:23:07
|
|
Merge pull request #2211 from Yogu/retry-renaming-config
Retry committing locked files on error
|
|
eedeeb9e
|
2014-04-03T11:58:51
|
|
Test (and fix) the git_submodule_sync changes
I wrote this stuff a while ago and forgot to write tests. Wanted
to do so now to wrap up the PR and immediately found problems.
|
|
18cc7d28
|
2014-04-03T11:29:08
|
|
Minor code cleanup
|
|
f2fb4bac
|
2014-04-02T23:55:21
|
|
git_submodule_resolve_url supports relative urls
The base for the relative urls is determined as follows, with descending
priority:
- remote url of HEAD's remote tracking branch
- remote "origin"
- workdir
This follows git.git behaviour
|
|
12d4ed4d
|
2014-03-08T23:04:56
|
|
Test git_submodule_add_setup with relative url
|
|
4c219cf6
|
2014-04-03T17:12:11
|
|
Merge pull request #2244 from jacquesg/const-correctness
Const correctness!
|
|
3b4ba278
|
2014-04-03T15:50:21
|
|
Const correctness!
|
|
fd61f05e
|
2014-04-03T09:53:28
|
|
Merge pull request #2238 from libgit2/cmn/upstream-for-unborn
Handle an upstream branch for an unborn one
|
|
9edc5271
|
2014-04-03T09:52:42
|
|
Merge pull request #2239 from libgit2/vmg/clar-skip-test
Skip tests on Clar
|
|
67d4997a
|
2014-04-02T18:44:01
|
|
remote: mark branch for-merge even if we're unborn
When the current branch is unborn, git will still mark the current
branch's upstream for-merge if there is an upstream configuration. The
only non-constrived case is cloning from an empty repository which then
gains history. origin's master should be marked for-merge.
In order to do this, we cannot use the high-level wrappers that expect a
reference, as we may not have one. Move over to the internal ones that
expect a reference name, which we do have.
|
|
6f6be8fe
|
2014-04-02T18:14:02
|
|
remote: write tests for cloning from an empty repo
Cloning from an empty repo must set master's upstream to origin's
master, even if neither of them exist.
Fetching from a non-empty origin must then mark the master branch
for-merge. This currently fails.
|
|
0f65733b
|
2014-04-02T18:50:47
|
|
Clar: skip tests
|
|
64a862c2
|
2014-04-02T18:48:38
|
|
Merge pull request #2237 from mekishizufu/fix_return_value
Fix submodule_is_config_only's return value
|
|
49653665
|
2014-04-02T18:21:41
|
|
checkout: Fix submodule_is_config_only's return value
|
|
fe23860a
|
2014-04-02T17:45:25
|
|
Merge pull request #2230 from anuraggup/revwalk-merge-base
No need to find merge base.
|
|
ada157b2
|
2014-04-02T07:45:16
|
|
Add warning when skipping blame test
|
|
bb63baea
|
2014-04-02T14:13:01
|
|
Merge pull request #2231 from libgit2/fix-memory-index-doc-comment
Correct a stale reference to GIT_EBAREINDEX
|
|
ddc66e27
|
2014-04-02T08:02:43
|
|
Give the correct name for the function in the doc.
Per @carlosmn, git_index_add is now named git_index_add_bypath.
|
|
5b9eac32
|
2014-04-02T13:42:14
|
|
Merge pull request #2233 from libgit2/rb/fix-untracked-repo-status
Skip untracked contained repo contents even with gitlink files
|
|
d1a09004
|
2014-04-01T21:58:48
|
|
Skip blame libgit2 test if not in libgit2 repo
One blame test replies on being run from within the libgit2
repository to leverage having a longer history to play with, but
some bundled versions of libgit2 don't have the whole libgit2
history. This just skips that test if the repository can't be
opened.
|
|
a574d584
|
2014-04-01T21:32:06
|
|
New tests of status for repo inside repo
|
|
ea1ca3c9
|
2014-04-01T21:30:52
|
|
Fix skipping content of contained repos
When doing a diff for use in status, we should never show the
content of a git repository contained inside another one. The
logic to do this was looking for a .git directory and so when a
gitlink plain .git file was used, it was failing to exclude the
directory content.
|
|
8f4e5275
|
2014-04-01T16:46:25
|
|
More tests and fix submodule index refresh
There was a little bug where the submodule cache thought that the
index date was out of date even when it wasn't that was resulting
in some extra scans of index data even when not needed.
Mostly this commit adds a bunch of new tests including adding and
removing submodules in the index and in the HEAD and seeing if we
can automatically pick them up when refreshing.
|
|
bb439de0
|
2014-04-01T16:37:19
|
|
Correct a stale reference to GIT_EBAREINDEX
|
|
8061d519
|
2014-04-01T13:24:06
|
|
Remove most submodule reloads from tests
With the new submodule cache validity checks, we generally don't
need to call git_submodule_reload_all to have up-to-date submodule
data. Some tests are still calling it where I want to actually
test that it can be called safely and doesn't break anything, but
mostly it is not needed.
This also expands some of the existing submodule tests to cover
some variants on the behavior that was already being tested.
|
|
4ece3e22
|
2014-04-01T12:19:11
|
|
Fix submodule accounting for name and path changes
Wrote tests that try adding, removing, and updating the name of
submodules which showed a number of problems with how we account
for changes when incrementally updating the submodule info. Most
of these issues didn't exist before because reloading would always
blow away the old submodule data.
|
|
f28e4c97
|
2014-04-01T20:17:49
|
|
refspec: git_refspec_parse() does not exist
|
|
aa78c9ba
|
2014-04-01T10:22:51
|
|
Minor submodule cache locking improvements
This improvement the management of the lock around submodule cache
updates slightly, using the lock to make sure that foreach can
safely make a snapshot of all existing submodules and making sure
that git_submodule_add_setup also grabs a lock before inserting
the new submodule. Cache initialization / refresh should already
have been holding the lock correctly as it adds submodules.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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).
|
|
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
|
|
3bc3d797
|
2014-03-31T15:15:32
|
|
No need to find merge base.
|
|
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
|