|
ad9a921b
|
2012-11-08T17:05:07
|
|
Rework checkout with new strategy options
This is a major reworking of checkout strategy options. The
checkout code is now sensitive to the contents of the HEAD tree
and the new options allow you to update the working tree so that
it will match the index content only when it previously matched
the contents of the HEAD. This allows you to, for example, to
distinguish between removing files that are in the HEAD but not
in the index, vs just removing all untracked files.
Because of various corner cases that arise, etc., this required
some additional capabilities in rmdir and other utility functions.
This includes the beginnings of an implementation of code to read
a partial tree into the index based on a pathspec, but that is
not enabled because of the possibility of creating conflicting
index entries.
|
|
32def5af
|
2012-10-24T17:37:07
|
|
Fix checkout behavior when its hands are tied
So, @nulltoken created a failing test case for checkout that
proved to be particularly daunting. If checkout is given only
a very limited strategy mask (e.g. just GIT_CHECKOUT_CREATE_MISSING)
then it is possible for typechange/rename modifications to leave it
unable to complete the request. That's okay, but the existing code
did not have enough information not to generate an error (at least
for tree/blob conflicts).
This led me to a significant reorganization of the code to handle
the failing case, but it has three benefits:
1. The test case is handled correctly (I think)
2. The new code should actually be much faster than the old code
since I decided to make checkout aware of diff list internals.
3. The progress value accuracy is hugely increased since I added
a fourth pass which calculates exactly what work needs to be
done before doing anything.
|
|
1fc375e6
|
2012-10-25T09:02:55
|
|
Fix Windows build
Pedantic ordering of GIT_UNUSED vs. variable declarations.
|
|
1eb8cd7f
|
2012-10-25T08:16:13
|
|
Merge pull request #990 from ben/clone-callbacks
Progress callbacks
|
|
cd1ef822
|
2012-10-20T12:07:53
|
|
test: extract make_head_orphaned() logic
|
|
9c05c17b
|
2012-10-19T20:05:18
|
|
Checkout progress now reports completed/total steps
|
|
cd001bbb
|
2012-10-19T19:37:47
|
|
Fix from rebase
|
|
25e8b201
|
2012-10-18T15:35:03
|
|
Fix broken tests
|
|
30a46ab1
|
2012-10-18T14:04:14
|
|
Adjust for rebase
|
|
0ae81fc4
|
2012-10-17T15:30:22
|
|
index: remove read_tree() progress indicator
git_index_read_tree() was exposing a parameter to provide the user with
a progress indicator. Unfortunately, due to the recursive nature of the
tree walk, the maximum number of items to process was unknown. Thus,
the indicator was only counting processed entries, without providing
any information how the number of remaining items.
|
|
80642656
|
2012-10-16T20:23:10
|
|
Convert checkout_* to use progress callback
|
|
2c8bbb27
|
2012-10-16T20:16:21
|
|
Convert checkout_index to use progress callback
|
|
8b05bea8
|
2012-10-19T17:07:39
|
|
errors: deploy GIT_EORPHANEDHEAD usage
|
|
0d64bef9
|
2012-10-05T15:56:57
|
|
Add complex checkout test and then fix checkout
This started as a complex new test for checkout going through the
"typechanges" test repository, but that revealed numerous issues
with checkout, including:
* complete failure with submodules
* failure to create blobs with exec bits
* problems when replacing a tree with a blob because the tree
"example/" sorts after the blob "example" so the delete was
being processed after the single file blob was created
This fixes most of those problems and includes a number of other
minor changes that made it easier to do that, including improving
the TYPECHANGE support in diff/status, etc.
|
|
9e592583
|
2012-09-19T12:23:47
|
|
checkout: add notification callback for skipped files
|
|
39783719
|
2012-09-17T20:27:28
|
|
checkout: Mimic git_diff_options storage of paths
|
|
10df95c3
|
2012-09-15T12:23:49
|
|
checkout: add test coverage of dirs and subtrees
|
|
c214fa1c
|
2012-09-06T15:15:46
|
|
checkout: segregate checkout strategies
|
|
020cda99
|
2012-09-14T16:45:24
|
|
checkout: separate tree from index related tests
|
|
3aa443a9
|
2012-08-20T16:56:45
|
|
checkout: introduce git_checkout_tree()
|
|
e9ca852e
|
2012-08-23T09:20:17
|
|
Fix warnings and merge issues on Win64
|
|
b2be351a
|
2012-08-21T10:10:32
|
|
Win32: test core.autocrlf
|
|
c3588142
|
2012-08-20T20:24:20
|
|
Tests: close file handles before asserting
Avoids getting ERROR_SHARING_VIOLATION on win32
and killing the entire clar run.
|
|
eb87800a
|
2012-08-06T09:34:17
|
|
Checkout: fix memory leak in tests.
|
|
5f4d2f9f
|
2012-07-31T19:49:19
|
|
Checkout: fix problem with detached HEAD.
|
|
78cd966a
|
2012-07-31T16:24:04
|
|
Checkout: fix crlf tests under win32.
|
|
e4bac3c4
|
2012-07-31T15:38:12
|
|
Checkout: crlf filter.
|
|
8e4aae1a
|
2012-07-31T10:44:42
|
|
Checkout: handle file modes properly.
Global file mode override now works properly with
the file mode stored in the tree node.
|
|
3f584b50
|
2012-07-31T09:01:11
|
|
Try to fix Travis.
|
|
e0681f6d
|
2012-07-27T20:39:43
|
|
Checkout: disable file-mode test on win32.
|
|
b31667fb
|
2012-07-27T20:29:06
|
|
Checkout: add head- and ref-centric checkouts.
Renamed git_checkout_index to what it really was,
and removed duplicate code from clone.c. Added
git_checkout_ref, which updates HEAD and hands off
to git_checkout_head.
Added tests for the options the caller can pass to
git_checkout_*.
|
|
b401bace
|
2012-07-26T13:12:21
|
|
Restructure for better checkout options
* Removed the #define for defaults
* Promoted progress structure to top-level API call
argument
|
|
ef9905c9
|
2012-07-26T12:58:44
|
|
checkout: introduce git_checkout_opts
Refactor checkout into several more-sensible
entry points, which consolidates common options
into a single structure that may be passed around.
|
|
09a03995
|
2012-07-17T20:20:34
|
|
Checkout: make core.symlinks test work on OSX.
|
|
8651c10f
|
2012-07-17T19:57:37
|
|
Checkout: obey core.symlinks.
|
|
1d68fcd0
|
2012-07-16T16:16:11
|
|
Checkout: handle symlinks.
Includes unfinished win32 implementation.
|
|
71bc89b9
|
2012-07-13T20:24:40
|
|
Disable test that aren't quite ready yet.
|
|
280c7bbf
|
2012-07-13T15:52:27
|
|
Add checkout test suite.
Removed 'bare' option from test repository to
allow checkout tests.
|