summaryrefslogtreecommitdiff
path: root/tests/checkout
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove the signature from ref-modifying functionsCarlos Martín Nieto2015-03-033-21/+21
| | | | | | | | | | The signature for the reflog is not something which changes dynamically. Almost all uses will be NULL, since we want for the repository's default identity to be used, making it noise. In order to allow for changing the identity, we instead provide git_repository_set_ident() and git_repository_ident() which allow a user to override the choice of signature.
* checkout tests: just use SAFE where appropriateEdward Thomson2015-02-272-9/+4
|
* checkout: remove `GIT_CHECKOUT_SAFE_CREATE` as a strategyEdward Thomson2015-02-275-40/+58
|
* checkout: upgrade to `SAFE_CREATE` when no index fileEdward Thomson2015-02-271-0/+36
| | | | | | When the repository does not contain an index, emulate git's behavior and upgrade to `SAFE_CREATE`. This allows us to check out repositories created with `git clone --no-checkout`.
* checkout: introduce GIT_CHECKOUT_DONT_WRITE_INDEXEdward Thomson2015-02-141-0/+80
|
* Merge pull request #2866 from ethomson/checkout_perf2Carlos Martín Nieto2015-02-121-0/+54
|\ | | | | Checkout performance
| * remove some unused warningsEdward Thomson2015-02-041-0/+4
| |
| * checkout test: ensure .gitattributes lifecycleEdward Thomson2015-02-021-0/+50
| | | | | | | | | | | | 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.
* | win32: further cleanups for 8.3 disablingEdward Thomson2015-02-031-4/+1
| |
* | win32: cleanup 8.3 disabled testsEdward Thomson2015-02-031-23/+7
| |
* | Fix test failures when 8.3 is disabledLinquize2015-01-311-1/+23
|/
* checkout tests: cleanup realpath impl on Win32Edward Thomson2015-01-201-36/+6
|
* checkout tests: emulate p_realpath poorly on Win32Edward Thomson2015-01-201-1/+64
|
* checkout: remove files before writing new onesEdward Thomson2015-01-202-2/+99
| | | | | | | On case insensitive filesystems, we may have files in the working directory that case fold to a name we want to write. Remove those files (by default) so that we will not end up with a filename that has the unexpected case.
* checkout tests: nasty symlinksEdward Thomson2015-01-201-1/+39
| | | | Symbolic links that abuse case insensitivity to write into .git.
* checkout: introduce git_checkout_perfdataEdward Thomson2015-01-201-0/+29
| | | | | Checkout can now provide performance data about the number of (some) syscalls performed using an optional callback.
* Add files and tests with many UTF-8 chars and few UTF-8 charsLinquize2015-01-201-0/+25
|
* Plug a couple of leaksCarlos Martín Nieto2015-01-041-0/+1
|
* Always checkout with case sensitive iteratorEdward Thomson2014-12-231-13/+2
| | | | | | | | | On a case-insensitive filesystem, we need to deal with case-changing renames (eg, foo -> FOO) by removing the old and adding the new, exactly as if we were on a case-sensitive filesystem. Update the `checkout::tree::can_cancel_checkout_from_notify` test, now that notifications are always sent case sensitively.
* Introduce test for checkout case-changing renameEdward Thomson2014-12-231-0/+77
|
* Introduce core.protectHFS and core.protectNTFSEdward Thomson2014-12-171-0/+32
| | | | | | Validate HFS ignored char ".git" paths when `core.protectHFS` is specified. Validate NTFS invalid ".git" paths when `core.protectNTFS` is specified.
* checkout: disallow bad paths on HFSEdward Thomson2014-12-161-0/+42
| | | | | | | | 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-161-0/+251
| | | | | | | | | | | | | | | 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.
* Plug leaksCarlos Martín Nieto2014-11-231-0/+2
| | | | Valgrind is now clean except for libssl and libgcrypt.
* checkout_index: Remove stage 0 when checking out conflictsEdward Thomson2014-11-061-10/+39
|
* checkout_index: remove conflicts when checking out new filesEdward Thomson2014-11-061-3/+87
|
* Introduce failing test for conflict filtering in indexEdward Thomson2014-10-131-0/+69
|
* Merge pull request #2499 from csware/hard-reset-checkout-callbacksCarlos Martín Nieto2014-10-101-1/+1
|\ | | | | Allow to propagate checkout callbacks to git HARD reset
| * Allow to propagate checkout callbacks to git HARD resetSven Strickroth2014-08-031-1/+1
| | | | | | | | Signed-off-by: Sven Strickroth <email@cs-ware.de>
* | Merge pull request #2567 from cirosantilli/factor-41Vicent Marti2014-09-171-1/+1
|\ \ | | | | | | Factor 40 and 41 constants from source.
| * | Factor 40 and 41 constants from source.Ciro Santilli2014-09-161-1/+1
| |/
* | Replace void casts with GIT_UNUSED.Ciro Santilli2014-09-171-2/+2
|/
* Merge pull request #2455 from ethomson/equal_oidVicent Marti2014-07-022-3/+3
|\ | | | | Introduce `cl_assert_equal_oid`
| * Introduce cl_assert_equal_oidEdward Thomson2014-07-012-3/+3
| |
* | checkout::conflict tests: only test owner modeEdward Thomson2014-06-261-1/+1
| | | | | | | | | | | | | | The checkout::conflict type conflict tests were failing because they were overly assertive about the resultant mode, testing group & other bits, which failed miserably for people who had a umask less restrictive than 022. Only test the resultant owner bits.
* | Update text=auto / core.autocrlf=false behaviorEdward Thomson2014-06-241-2/+7
|/ | | | | | | Git for Windows 1.9.4 changed the behavior when the text=auto attribute is specified and core.autocrlf=false. Previous observed behavior would *not* filter files when going into the working directory, the new behavior *does* filter. Update our behavior to match.
* crlf: pass-through mixed EOL buffers from LF->CRLFcmn/mixed-eol-passthroughCarlos Martín Nieto2014-06-231-8/+2
| | | | | | | | | | When checking out files, we're performing conversion into the user's native line endings, but we only want to do it for files which have consistent line endings. Refuse to perform the conversion for mixed-EOL files. The CRLF->LF filter is left as-is, as that conversion is considered to be normalization by git and should force a conversion of the line endings.
* git_checkout_opts -> git_checkout_optionsBen Straub2014-03-067-74/+99
|
* Tests for core.autocrlf and .gitattributesEdward Thomson2014-02-091-25/+94
|
* Prevent user's merge.conflictstyle from breaking testsBen Straub2014-02-051-0/+7
|
* Add reflog parameters to git_resetBen Straub2014-02-031-1/+1
|
* Add reflog params to git_branch_createBen Straub2014-01-301-1/+1
|
* Add reflog params to set-head callsBen Straub2014-01-302-13/+13
|
* diff: rename the file's 'oid' to 'id'Carlos Martín Nieto2014-01-251-2/+2
| | | | In the same vein as the previous commits in this series.
* index: rename an entry's id to 'id'Carlos Martín Nieto2014-01-253-6/+6
| | | | This was not converted when we converted the rest, so do it now.
* Preserve tree filemode in index during checkoutEdward Thomson2014-01-221-0/+23
| | | | | | Don't try to determine whether the system supports file modes when putting the tree data in the index during checkout. The tree's mode is canonical and did not come from stat(2) in the first place.
* refs: remove the _with_log differentiationCarlos Martín Nieto2014-01-151-1/+1
| | | | | | Any well-behaved program should write a descriptive message to the reflog whenever it updates a reference. Let's make this more prominent by removing the version without the reflog parameters.
* Overwrite ignored directories on checkoutEdward Thomson2013-12-131-7/+40
|
* Overwrite ignored files on checkoutEdward Thomson2013-12-131-0/+74
|
* Try a test that won't assert on LinuxRussell Belfer2013-12-111-2/+2
|