summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Decouple index iterator sort from indexRussell Belfer2014-04-179-107/+142
| | | | | | | | | | | | | | | | | | | | | | | | This makes the index iterator honor the GIT_ITERATOR_IGNORE_CASE and GIT_ITERATOR_DONT_IGNORE_CASE flags without modifying the index data itself. To take advantage of this, I had to export a number of the internal index entry comparison functions. I also wrote some new tests to exercise the capability.
| * | Add mutex around index entries changesRussell Belfer2014-04-172-63/+169
| | | | | | | | | | | | | | | This surrounds any function that mutates the entries vector with a mutex so it can be safely snapshotted.
| * | Add index snapshot and use it for iteratorRussell Belfer2014-04-173-22/+67
| | |
| * | Add public diff print helpersRussell Belfer2014-04-173-24/+96
| | | | | | | | | | | | | | | | | | | | | The usefulness of these helpers came up for me while debugging some of the iterator changes that I was making, so since they have also been requested (albeit indirectly) I thought I'd include them.
| * | Some index internals refactoringRussell Belfer2014-04-175-176/+219
| | | | | | | | | | | | | | | | | | | | | | | | Again, laying groundwork for some index iterator changes, this contains a bunch of code refactorings for index internals that should make it easier down the line to add locking around index modifications. Also this removes the redundant prefix_position function and fixes some potential memory leaks.
| * | Some vector utility tweaksRussell Belfer2014-04-177-33/+52
| | | | | | | | | | | | | | | This is just laying some groundwork for internal index changes that I'm working on.
* | | cherry-pick: terminate the commit id stringCarlos Martín Nieto2014-04-181-1/+1
|/ / | | | | | | | | We treat this as a NUL-terminated string, so make sure that we add the terminator.
* | Merge pull request #2261 from jacquesg/format-patchVicent Marti2014-04-16102-6/+1893
|\ \ | | | | | | Support for format-patch
| * | Added a test case for formatting a binary patch e-mailJacques Germishuys2014-04-151-0/+43
| | |
| * | Sanitize git_diff_format_email_options' summary parameterJacques Germishuys2014-04-152-1/+87
| | | | | | | | | | | | It will form part of the subject line and should thus be one line.
| * | Introduce git_diff_format_email and git_diff_commit_as_emailJacques Germishuys2014-04-154-0/+740
| | |
| * | 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.