summaryrefslogtreecommitdiff
path: root/tests/resources
Commit message (Collapse)AuthorAgeFilesLines
* status: test submodules with mixed caseEdward Thomson2016-03-31227-0/+358
|
* tests: use legitimate object idsEdward Thomson2016-02-284-0/+0
| | | | | Use legitimate (existing) object IDs in tests so that we have the ability to turn on strict object validation when running tests.
* win32: tests around handling forbidden pathsEdward Thomson2016-02-1712-0/+23
| | | | | | | | | | | | | Introduce a repository that contains some paths that were illegal on PC-DOS circa 1981 (like `aux`, `con`, `com1`) and that in a bizarre fit of retrocomputing, remain illegal on some "modern" computers, despite being "new technology". Introduce some aspirational tests that suggest that we should be able to cope with trees and indexes that contain paths that would be illegal on the filesystem, so that we can at least diff them. Further ensure that checkout will not write a repository with forbidden paths.
* Merge pull request #3521 from pks-t/blame-line-overflowEdward Thomson2015-12-147-1/+1
|\ | | | | Line count overflow in git_blame_hunk and git_blame__entry
| * blame: use size_t for line counts in git_blame_hunkPatrick Steinhardt2015-12-017-1/+1
| | | | | | | | | | | | | | | | | | | | It is not unreasonable to have versioned files with a line count exceeding 2^16. Upon blaming such files we fail to correctly keep track of the lines as `git_blame_hunk` stores them in `uint16_t` fields. Fix this by converting the line fields of `git_blame_hunk` to `size_t`. Add test to verify behavior.
* | diff: include commit message when formatting patchPatrick Steinhardt2015-12-016-1/+3
|/ | | | | | When formatting a patch as email we do not include the commit's message in the formatted patch output. Implement this and add a test that verifies behavior.
* merge: handle conflicts in recursive base buildingEdward Thomson2015-11-2524-0/+8
| | | | | | | | | | | | | | | | | When building a recursive merge base, allow conflicts to occur. Use the file (with conflict markers) as the common ancestor. The user has already seen and dealt with this conflict by virtue of having a criss-cross merge. If they resolved this conflict identically in both branches, then there will be no conflict in the result. This is the best case scenario. If they did not resolve the conflict identically in the two branches, then we will generate a new conflict. If the user is simply using standard conflict output then the results will be fairly sensible. But if the user is using a mergetool or using diff3 output, then the common ancestor will be a conflict file (itself with diff3 output, haha!). This is quite terrible, but it matches git's behavior.
* merge tests: add complex recursive exampleEdward Thomson2015-11-2511-6/+11
|
* merge: add recursive test with conflicting contentsEdward Thomson2015-11-258-0/+9
|
* merge: add recursive test with three merge basesEdward Thomson2015-11-2527-0/+19
|
* merge: add a third-level recursive mergeEdward Thomson2015-11-2512-0/+12
|
* merge: add a second-level recursive mergeEdward Thomson2015-11-2511-0/+9
|
* merge: add simple recursive testEdward Thomson2015-11-2568-0/+121
| | | | | Add a simple recursive test - where multiple ancestors exist and creating a virtual merge base from them would prevent a conflict.
* submodule: test updating a submodule w/ a pathEdward Thomson2015-11-0412-0/+13
| | | | | Test that `git_submodule_update` can handle a submodule that is freshly cloned and has a path differing from its name.
* Add test caseVicent Marti2015-11-027-0/+11
|
* index: test that we round-trip nsecsEdward Thomson2015-10-2212-0/+15
| | | | | | | Test that nanoseconds are round-tripped correctly when we read an index file that contains them. We should, however, ignore them because we don't understand them, and any new entries in the index should contain a `0` nsecs field, while existing preserving entries.
* repo::reservedname: test a submodule updateEdward Thomson2015-09-1820-0/+28
| | | | | | | Test an initial submodule update, where we are trying to checkout the submodule for the first time, and placing a file within the submodule working directory with the same name as the submodule (and consequently, the same name as the repository itself).
* crlf tests: posix known-good dataEdward Thomson2015-06-22684-0/+3960
| | | | | A corpus of files checked out with Git (Linux, 1.9.1) to ensure that produce identical data when checking out using a CRLF filter.
* crlf tests: windows known-good dataEdward Thomson2015-06-22685-0/+3961
| | | | | | A corpus of files checked out with Git for Windows (2.4.1.windows.1) to ensure that we produce identical data when checking out using a CRLF filter.
* crlf: include utf8 resources in master branchEdward Thomson2015-06-2217-2/+4
| | | | | Include the UTF8 and UTF8 BOM tests in the master crlf test branch for completeness.
* crlf: include additional test resourcesEdward Thomson2015-06-2216-1/+6
| | | | | Include additional test data for CRLF tests: files with mixed line endings and binary files.
* remote: apply insteadOf configuration.Patrick Steinhardt2015-05-311-0/+12
| | | | | | | | A remote's URLs are now modified according to the url.*.insteadOf and url.*.pushInsteadOf configurations. This allows a user to replace URL prefixes by setting the corresponding keys. E.g. "url.foo.insteadOf = bar" would replace the prefix "bar" with the new prefix "foo".
* Illustrate bad checkout on WindowsJacques Germishuys2015-03-259-0/+2
|
* Added tests to merge files and branches with whitespace problems and fixesJacques Germishuys2015-03-1647-0/+40
|
* checkout test: ensure .gitattributes lifecycleEdward Thomson2015-02-024-0/+2
| | | | | | The .gitattributes cache should not reload .gitattributes in the middle of checking out, only between checkout operations. Otherwise, we'll spend all our time stat'ing and read'ing the gitattributes.
* checkout tests: nasty symlinksEdward Thomson2015-01-2017-2/+11
| | | | Symbolic links that abuse case insensitivity to write into .git.
* Add files and tests with many UTF-8 chars and few UTF-8 charsLinquize2015-01-207-1/+1
|
* repo::init test: create hook symlinkEdward Thomson2015-01-081-1/+0
| | | | | | | Remove the hook symlink from the test resources, so that we can have a source tree that is easy to zip up and copy around on systems that don't support symlinks. Create it dynamically at test execution instead.
* submodule init should resolve relative url pathsJameson Miller2014-12-2213-0/+18
| | | | | Submodule init should handle relative paths in .gitmodules files and resolve these urls when updating the git config file.
* checkout: disallow bad paths on HFSEdward Thomson2014-12-1649-0/+37
| | | | | | | | HFS filesystems ignore some characters like U+200C. When these characters are included in a path, they will be ignored for the purposes of comparison with other paths. Thus, if you have a ".git" folder, a folder of ".git<U+200C>" will also match. Protect our ".git" folder by ensuring that ".git<U+200C>" and friends do not match it.
* checkout: disallow bad paths on win32Edward Thomson2014-12-1680-0/+64
| | | | | | | | | | | | | | | Disallow: 1. paths with trailing dot 2. paths with trailing space 3. paths with trailing colon 4. paths that are 8.3 short names of .git folders ("GIT~1") 5. paths that are reserved path names (COM1, LPT1, etc). 6. paths with reserved DOS characters (colons, asterisks, etc) These paths would (without \\?\ syntax) be elided to other paths - for example, ".git." would be written as ".git". As a result, writing these paths literally (using \\?\ syntax) makes them hard to operate with from the shell, Windows Explorer or other tools. Disallow these.
* Merge pull request #2654 from linquize/missing-objEdward Thomson2014-11-188-3/+5
|\ | | | | Fix missing object in tests/resources/crlf by changing the tail commit
| * Fix missing object in tests/resources/crlf by changing the tail commitLinquize2014-10-268-3/+5
| |
* | revert tests: always use core.autocrlf=false in testsEdward Thomson2014-10-2712-4/+2
| |
* | git_rebase_commit: drop already-picked commitsEdward Thomson2014-10-2610-0/+5
| | | | | | | | | | | | Already cherry-picked commits should not be re-included. If all changes included in a commit exist in the upstream, then we should error with GIT_EAPPLIED.
* | Introduce git_rebase to set up a rebase sessionEdward Thomson2014-10-26124-0/+167
|/ | | | | | Introduce `git_rebase` to set up a rebase session that can then be continued. Immediately, only merge-type rebase is supported.
* Introduce failing test for conflict filtering in indexEdward Thomson2014-10-133-0/+0
|
* Merge pull request #2473 from arthurschreiber/arthur/new-javascript-test-filesEdward Thomson2014-10-1014-351/+325
|\ | | | | New test files for the javascript diff driver.
| * Update the javascript diff driver's function pattern.Arthur Schreiber2014-10-091-3/+3
| |
| * New test files for the javascript diff driver.Arthur Schreiber2014-10-0914-351/+325
| |
* | Merge pull request #2592 from libgit2/cmn/describeCarlos Martín Nieto2014-10-0953-0/+54
|\ \ | |/ |/| Implement git-describe
| * tests: Add "describe" test repositorynulltoken2014-04-3053-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Built with the following script: #!/bin/sh test_tick () { sleep 10 } test_tick && echo one >file && git add file && git commit -m initial && one=$(git rev-parse HEAD) && git describe --always HEAD && test_tick && echo two >file && git add file && git commit -m second && two=$(git rev-parse HEAD) && test_tick && echo three >file && git add file && git commit -m third && test_tick && echo A >file && git add file && git commit -m A && test_tick && git tag -a -m A A && test_tick && echo c >file && git add file && git commit -m c && test_tick && git tag c && git reset --hard $two && test_tick && echo B >side && git add side && git commit -m B && test_tick && git tag -a -m B B && test_tick && git merge -m Merged c && merged=$(git rev-parse HEAD) && git reset --hard $two && test_tick && echo D >another && git add another && git commit -m D && test_tick && git tag -a -m D D && test_tick && git tag -a -m R R && test_tick && echo DD >another && git commit -a -m another && test_tick && git tag e && test_tick && echo DDD >another && git commit -a -m "yet another" && test_tick && git merge -m Merged $merged && test_tick && echo X >file && echo X >side && git add file side && git commit -m x
* | config: Add test cases that have trailing spaces before comment charsLinquize2014-10-041-0/+6
| |
* | Revert "test: Remove symlinks from the source tree"Vicent Marti2014-08-181-0/+1
| | | | | | | | This reverts commit 0dc54e149498bbd5de5e5ecc6006f9f5afb6588c.
* | test: Remove symlinks from the source treeVicent Marti2014-08-181-1/+0
|/ | | | We don't really use this at all, and it breaks packaging in Windows.
* Merge pull request #2261 from jacquesg/format-patchVicent Marti2014-04-1689-0/+72
|\ | | | | Support for format-patch
| * Added git_diff_stats test filesJacques Germishuys2014-04-1589-0/+72
| |
* | Added cherry pick testsJacques Germishuys2014-04-1490-0/+96
|/
* Merge pull request #2178 from libgit2/rb/fix-short-idEdward Thomson2014-03-311-0/+0
|\ | | | | Fix git_odb_short_id and git_odb_exists_prefix bugs
| * Add failing test for git_object_short_idJiri Pospisil2014-03-101-0/+0
| |