|
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.
|
|
331e7de9
|
2012-10-24T17:32:50
|
|
Extensions to rmdir and mkdir utilities
* Rework GIT_DIRREMOVAL values to GIT_RMDIR flags, allowing
combinations of flags
* Add GIT_RMDIR_EMPTY_PARENTS flag to remove parent dirs that
are left empty after removal
* Add GIT_MKDIR_VERIFY_DIR to give an error if item is a file,
not a dir (previously an EEXISTS error was ignored, even for
files) and enable this flag for git_futils_mkpath2file call
* Improve accuracy of error messages from git_futils_mkdir
|
|
a9db123b
|
2012-10-31T10:14:13
|
|
Checkout: remove duplicate 100% progress report
|
|
2dae54a9
|
2012-10-19T20:24:15
|
|
Improve clone sample's formatting
|
|
9c05c17b
|
2012-10-19T20:05:18
|
|
Checkout progress now reports completed/total steps
|
|
63afb005
|
2012-10-19T19:33:23
|
|
Remove third stage from checkout progress reporting
Also, now only reporting checkout progress for files that
are actually being added or removed.
|
|
45b60d7b
|
2012-10-18T15:17:12
|
|
Correct progress reporting from checkout
|
|
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.
|
|
1f7c7418
|
2012-10-17T10:15:07
|
|
Remove dead code
|
|
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
|
|
52a61bb8
|
2012-10-17T14:10:23
|
|
Fix minor bugs
Fixed no-submodule speedup of new checkout code. Fixed missing
final update to progress (which may go away, I realize). Fixed
unused structure in header and incorrect comment.
|
|
e48bb71b
|
2012-10-17T10:44:38
|
|
Skip submodule checkout pass if no submodules
Skip the third pass of checkout (where submodules are checked out)
if the earlier passes found no submodules to be checked out.
|
|
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.
|
|
95f5f1e6
|
2012-10-02T13:57:15
|
|
Cleanup TYPECHANGE support
This is just some cleanup code, rearranging some of the checkout
code where TYPECHANGE support was added and adding some comments
to the diff header regarding the constants.
|
|
fbec2fb9
|
2012-09-28T14:32:33
|
|
Fix checkout to know about TYPECHANGE diffs
|
|
fade21db
|
2012-09-28T13:39:34
|
|
Improve error propogation in checkout
|
|
bae957b9
|
2012-09-25T16:31:46
|
|
Add const to all shared pointers in diff API
There are a lot of places where the diff API gives the user access
to internal data structures and many of these were being exposed
through non-const pointers. This replaces them all with const
pointers for any object that the user can access but is still
owned internally to the git_diff_list or git_diff_patch objects.
This will probably break some bindings... Sorry!
|
|
d75074f4
|
2012-09-22T12:29:16
|
|
Fix -Wmaybe-uninitialized warning
|
|
9e592583
|
2012-09-19T12:23:47
|
|
checkout: add notification callback for skipped files
|
|
9ac8b113
|
2012-09-20T14:06:49
|
|
Fix MSVC amd64 compilation warnings
|
|
28abf3db
|
2012-09-20T11:41:49
|
|
checkout: prefer mode_t type usage over int
|
|
39783719
|
2012-09-17T20:27:28
|
|
checkout: Mimic git_diff_options storage of paths
|
|
5e4cb4f4
|
2012-09-17T10:38:57
|
|
checkout : reduce memory usage when not filtering
|
|
5af61863
|
2012-09-14T11:15:49
|
|
checkout: drop git_checkout_reference()
|
|
c214fa1c
|
2012-09-06T15:15:46
|
|
checkout: segregate checkout strategies
|
|
e93af304
|
2012-08-24T10:40:17
|
|
checkout: introduce git_checkout_index()
|
|
3aa443a9
|
2012-08-20T16:56:45
|
|
checkout: introduce git_checkout_tree()
|
|
35d2e449
|
2012-08-20T11:26:02
|
|
checkout: cleanup misplaced declaration
|
|
97a17e4e
|
2012-08-24T12:19:22
|
|
Fix valgrind warnings and spurious error messages
Just clean up valgrind warnings about uninitialized memory
and also clear out errno in some cases where it results in
a false error message being generated at a later point.
|
|
9d7ac675
|
2012-08-21T11:45:16
|
|
tree entry: rename git_tree_entry_attributes() into git_tree_entry_filemode()
|
|
5f4d2f9f
|
2012-07-31T19:49:19
|
|
Checkout: fix problem with detached HEAD.
|
|
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.
|
|
7e02c7c5
|
2012-07-31T08:45:42
|
|
Checkout: save index on checkout.
|
|
4bf51156
|
2012-07-30T14:52:46
|
|
Enable stats on git_index_read_tree.
Replace with the contents of
git_index_read_tree_with_stats() and improve
documentation comments.
|
|
f1587b97
|
2012-07-30T14:37:40
|
|
Checkout: use git_index_read_tree_with_stats.
New variant of git_index_read_tree that fills in
the 'total' field of a git_indexer_stats struct
as it's walking the tree.
|
|
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_*.
|
|
b494cdbd
|
2012-07-27T11:50:32
|
|
Checkout: handle deeply-nested submodules better.
Now creating intermediate directories where the
submodule is deep, like "src/deps/foosubmodule".
|
|
6eb240b0
|
2012-07-26T19:09:37
|
|
Checkout: use caller's flags for open()
|
|
095ccc01
|
2012-07-26T16:31:49
|
|
Checkout: implementation of most options
|
|
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.
|
|
dc03369c
|
2012-07-21T20:12:28
|
|
checkout: create submodule dirs
|
|
8651c10f
|
2012-07-17T19:57:37
|
|
Checkout: obey core.symlinks.
|
|
1d68fcd0
|
2012-07-16T16:16:11
|
|
Checkout: handle symlinks.
Includes unfinished win32 implementation.
|
|
9587895f
|
2012-07-16T12:06:23
|
|
Migrate code to git_filter_blob_contents.
Also removes the unnecessary check for filter
length, since git_filters_apply does the right
thing when there are none, and it's more efficient
than this.
|
|
41ad70d0
|
2012-07-16T11:32:24
|
|
Use git_blob__getbuf.
|
|
dc1b0909
|
2012-07-13T16:44:13
|
|
Create filtered_blob_contents out of parts on hand.
|
|
81167385
|
2012-07-11T15:33:19
|
|
Fix compile and workings on msvc.
Signed-off-by: Ben Straub <bstraub@github.com>
|
|
822d9dd5
|
2012-07-11T09:50:12
|
|
Remove duplicate of git_repository_head_tree.
|
|
8fb5e403
|
2012-07-10T08:58:40
|
|
Plug leak.
|
|
aed794d0
|
2012-07-09T20:32:26
|
|
Checkout: only walk tree once while checking out.
|
|
4a26ee4f
|
2012-07-09T20:09:28
|
|
Checkout: reindent, fix uninit. variable.
|
|
0e874b12
|
2012-07-06T10:22:45
|
|
Apply filters on checkout.
|
|
24b0d3d5
|
2012-06-25T16:02:16
|
|
Checkout: read blob objects to file.
Properly handling file modes. Still needs line-
ending transformations.
|
|
ec532d5e
|
2012-06-21T14:54:12
|
|
Checkout: initial tree walkers.
|
|
14741d62
|
2012-06-21T11:13:19
|
|
Clone: new home for git_checkout_force.
|