summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Introduce git_diff_get_stats, git_diff_stats_files_changed, ↵Jacques Germishuys2014-04-153-0/+856
| | | | | | | | | | | | git_diff_stats_insertions, git_diff_stats_deletions and git_diff_stats_to_buf
| * | Added git_diff_stats test filesJacques Germishuys2014-04-1589-0/+72
| | |
| * | Fix const-correctness of git_patch_get_delta, git_patch_num_hunks, ↵Jacques Germishuys2014-04-112-6/+6
| | | | | | | | | | | | git_patch_num_lines_in_hunk
| * | Added RFC2822 date format test casesJacques Germishuys2014-04-111-0/+40
| | |
| * | Introduce git__date_rfc2822_fmt. Allows for RFC2822 date headersJacques Germishuys2014-04-112-0/+40
| | |
| * | Introduce git_buf_putcnJacques Germishuys2014-04-102-0/+10
| | | | | | | | | | | | Allows for inserting the same character n amount of times
* | | Merge pull request #2270 from csware/fix_git_branch_t_enumVicent Marti2014-04-163-3/+4
|\ \ \ | | | | | | | | Add GIT_BRANCH_LOCAL_AND_REMOTE to git_branch_t enum
| * | | Add GIT_BRANCH_ALL to git_branch_t enumSven Strickroth2014-04-163-3/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge pull request #2269 from libgit2/rb/fix-leading-slash-ignoresVicent Marti2014-04-166-30/+101
|\ \ \ | | | | | | | | Fix core.excludesfile named .gitignore
| * | | Fix core.excludesfile named .gitignorerb/fix-leading-slash-ignoresRussell Belfer2014-04-146-30/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #2235 from jacquesg/cherry-pickVicent Marti2014-04-15102-2/+1019
|\ \ \ \ | |/ / / |/| | | Add cherry pick support
| * | | Capture conflict information in MERGE_MSG for revert and mergeJacques Germishuys2014-04-144-2/+24
| | | |
| * | | Added cherry pick testsJacques Germishuys2014-04-1492-0/+631
| | | |
| * | | Added cherry-pick supportJacques Germishuys2014-04-144-0/+320
| | | |
| * | | Introduce git_merge__extract_conflict_pathsJacques Germishuys2014-04-142-0/+43
| | | |
| * | | Update AUTHORSJacques Germishuys2014-04-071-0/+1
| | | |
* | | | Merge pull request #2264 from jacquesg/fix-warningsVicent Marti2014-04-142-3/+5
|\ \ \ \ | | | | | | | | | | Correct C90 warnings
| * | | | Correct C90 warningsJacques Germishuys2014-04-112-3/+5
| | |/ / | |/| |
* | | | Merge pull request #2262 from libgit2/rb/fix-ignore-popVicent Marti2014-04-143-31/+92
|\ \ \ \ | |/ / / |/| | | Fix bug popping ignore files during wd iteration
| * | | Fix bug popping ignore files during wd iterationRussell Belfer2014-04-103-31/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* | | | Merge pull request #2259 from libgit2/vmg/state-cleanupVicent Marti2014-04-092-12/+41
|\ \ \ \ | | | | | | | | | | Rewrite `state-cleanup`
| * | | | Rewrite `git_repository__cleanup_files`vmg/state-cleanupVicent Marti2014-04-091-14/+20
| | | | |
| * | | | git_repository_state_cleanup() should remove rebase-merge/, rebase-apply/ ↵Jacques Germishuys2014-04-072-1/+24
| | |/ / | |/| | | | | | | | | | and BISECT_LOG
* | | | Merge pull request #2257 from libgit2/rb/fix-submodules-with-tracked-contentVicent Marti2014-04-092-4/+101
|\ \ \ \ | | | | | | | | | | Update treatment of submodule-like directories with tracked content in the parent
| * | | | Update submodules with parent-tracked contentrb/fix-submodules-with-tracked-contentRussell Belfer2014-04-082-4/+101
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #2258 from libgit2/jk/userdiff-ccVicent Marti2014-04-091-9/+7
|\ \ \ \ | |/ / / |/| | | pull userdiff pattern updates from git.git
| * | | userdiff: update ada patternsjk/userdiff-ccJeff King2014-04-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the moral equivalent of git/git@39a87a29ce364ed3337e535adce5973731ba2968 from Adrian Johnson <ajohnson@redneon.com>.
| * | | userdiff: update C/C++ patternsJeff King2014-04-081-7/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This pulls upstream changes from: git/git@8a2e8da367f7175465118510b474ad365161d6b1 git/git@abf8f9860248d8c213600974742f18dadaa8fbb5 git/git@407e07f2a6f55e605fda9e90cb622887269f68b5 all by Johannes Sixt <j6t@kdbg.org>.
* | | graph: handle not finding a merge base gracefullyCarlos Martín Nieto2014-04-081-1/+6
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2256 from jacquesg/graph-descendantVicent Marti2014-04-082-1/+9
|\ \ \ | |_|/ |/| | Correct grouping of parentheses
| * | Added a no path test for git_graph_descendant_ofJacques Germishuys2014-04-081-0/+8
| | |
| * | Correct grouping of parenthesesJacques Germishuys2014-04-081-1/+1
| |/ | | | | | | git_graph_descendant_of was returning the result of an assignment
* | Merge pull request #2255 from libgit2/rb/fix-multiple-nfd-iconv-bugVicent Marti2014-04-072-1/+13
|\ \ | |/ |/| Fix bug with multiple iconv conversions in one dir
| * vmg is always rightRussell Belfer2014-04-071-1/+1
| |
| * Fix bug with multiple iconv conversions in one dirRussell Belfer2014-04-072-1/+13
|/ | | | | | | | 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.
* Merge pull request #2249 from libgit2/rb/starstar-fnmatchVicent Marti2014-04-073-9/+77
|\ | | | | Add support for ** matches in ignores
| * Fix fnmatch comment to be clearerrb/starstar-fnmatchRussell Belfer2014-04-061-1/+3
| |
| * More ** tests for pattern rulesRussell Belfer2014-04-062-6/+54
| |
| * Add support for ** matches in ignoresRussell Belfer2014-04-042-3/+21
| | | | | | | | | | This is an experimental addition to add ** support to fnmatch pattern matching in libgit2. It needs more testing.
* | Merge pull request #2250 from jacquesg/vector-leakVicent Marti2014-04-061-2/+4
|\ \ | |/ |/| Don't lose our elements when calling git_vector_set()
| * Don't lose our elements when calling git_vector_set()Jacques Germishuys2014-04-061-2/+4
| |
* | Merge pull request #2215 from libgit2/rb/submodule-cache-fixesVicent Marti2014-04-0424-517/+1203
|\ \ | | | | | | Improve submodule cache management
| * | Test (and fix) the git_submodule_sync changesRussell Belfer2014-04-032-11/+38
| | | | | | | | | | | | | | | 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.
| * | Minor code cleanupRussell Belfer2014-04-032-108/+79
| | |
| * | git_submodule_resolve_url supports relative urlsJan Melcher2014-04-033-126/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Test git_submodule_add_setup with relative urlJan Melcher2014-04-031-0/+24
| | |
| * | More tests and fix submodule index refreshRussell Belfer2014-04-014-14/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Remove most submodule reloads from testsRussell Belfer2014-04-013-34/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Fix submodule accounting for name and path changesRussell Belfer2014-04-012-10/+107
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Minor submodule cache locking improvementsRussell Belfer2014-04-012-15/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.