Steve Streeting
3ee0946e71
Rationalise TODO LEGACY API comments so easier to search for later
2016-05-31 10:21:34 +01:00
Steve Streeting
185daf18bc
Move to a factory pattern to transfer adapters, better safety without implicit sharing
2016-05-27 17:56:10 +01:00
Steve Streeting
4ae20c6363
Move smudge functions to new transfer approach
...
Also remove old api functions and users, mark legacy more clearly
Pare down old unit tests which used the legacy api
2016-05-27 17:41:20 +01:00
Steve Streeting
60fc146a06
WIP moving transfer queue to use adapters
2016-05-25 16:41:47 +01:00
Steve Streeting
849ec82354
Move remaining api methods (upload/download) to api pkg
...
Also change signature of UploadObject to be independent of storage and
work on streams like DownloadObject. This may be further refactored
later
2016-05-17 12:43:36 +01:00
Steve Streeting
ab1af11720
Refactor errors and credentials into own packages to break cycles
2016-05-16 15:06:02 +01:00
Steve Streeting
70c41ed1cd
Move ObjectResource, ObjectError, LinkRelation to api package
2016-05-16 12:31:23 +01:00
Steve Streeting
c4bbd3724e
Major refactor to pull things into config, httputil, tools
...
Mainly required to avoid cyclical dependencies when separating other things
2016-05-13 17:38:06 +01:00
Steve Streeting
d731130e70
Refactor CopyCallback/CallbackReader to progress package
2016-05-10 16:56:43 +01:00
risk danger olson
256ba65798
tweak the error from ensureFile()
2016-02-23 09:16:39 -07:00
Steve Streeting
3c86ea1ea3
Export ObjectResource; it's returned by several exported functions
2015-11-25 12:01:45 +00:00
rubyist
cd754db91a
First pass at getting rid of WrappedError
2015-08-21 11:50:02 -04:00
Ryan Simmen
d010bf9f5c
LFS Extensions: clean command
2015-07-31 17:07:35 -04:00
rubyist
46249c9dd4
While I'm in here, this value is always the same, push it down
2015-07-30 10:43:50 -04:00
rubyist
b87386d705
Bake in dry-run-ability and we'll never forget to suppress output
2015-07-30 10:23:01 -04:00
rubyist
20e8a58e1e
refine progress output
...
Go back to requiring a count and size up front, but better track and
display files that are skipped because they don't need to transfer. This
makes it easier to judge what is happening based on the progress output.
2015-07-27 16:41:57 -04:00
rubyist
94ecd166e4
Start integrating batcher into transfer queue
...
Progress bar output temporarily removed, some things still broken
2015-07-09 14:21:49 -04:00
Rick Olson
821e8b1060
Don't stat the file in the working dir
...
we need to push all versions of a file, not just the latest.
2015-07-06 11:29:13 -06:00
Rick Olson
4b1dd8a7c4
merge master again
2015-07-06 10:57:19 -06:00
Rick Olson
73fff90f5b
teardown cleaned object asap
2015-07-06 10:50:16 -06:00
Lars Schneider
431db157ff
Rename pathForStats
to statsPath
2015-07-06 13:58:34 +02:00
Lars Schneider
92ea3b5aa0
Use shorthand variable declaration.
2015-07-06 13:54:33 +02:00
Lars Schneider
d52b1880ae
Remove unnecessary parameters from NewUploadable function.
2015-07-06 13:48:53 +02:00
Lars Schneider
29f6944265
Remove superfluous NewUploadableWithoutFilename function.
2015-07-06 13:48:14 +02:00
Lars Schneider
d24ab635ef
Add option to push object ID(s) directly.
2015-06-28 23:13:44 +08:00
Rick Olson
8b3fa6aec1
change message when lfs object is missing
2015-06-28 07:43:28 -06:00
Rick Olson
d75291f7e6
no need to pass this file around if callers just immediately close it
2015-06-28 07:43:16 -06:00
rubyist
4c9edba6e5
Support concurrent transfers when outputting progress for desktop apps
...
This is a fix for a bug in the handling of the GIT_LFS_PROGRESS file
which is used by desktop apps, or other things integrating with the
git-lfs binary.
At a later point, we should move toward a more unified progress tracking
which supports this file as well as the pb progress bars via a single
API.
2015-06-19 13:59:30 -04:00
rubyist
a3bb997567
Pull common queue code into a TransferQueue, reduce duplicated code
2015-05-21 12:36:49 -04:00
rubyist
c869fc6ef5
Basic "lfs get" that takes a ref, queues downloads
2015-05-14 12:33:29 -04:00
rubyist
bf966e0958
Should be part of the queues
2015-05-13 10:25:23 -04:00
rubyist
93381bf0d4
Batch takes objectResource instead of Uploadable
2015-05-12 10:35:55 -04:00
rubyist
a870cc83b9
Flip batch with config
2015-05-07 14:37:30 -04:00
rubyist
52dac4f75a
Initial rough draft of client code for the Batch endpoint and batch uploads
2015-05-07 14:33:51 -04:00
rubyist
83c19bca45
Add some documentation to the upload queue and make some better names
2015-04-29 13:25:39 -04:00
rubyist
13612f0076
API can broadcast success/fail events to control queue synchronization
...
This lets the api client code broadcast success/fail events that the
upload queue can listen for. The queue will process synchronously until
it receives a success event, then it will run concurrently.
2015-04-29 11:06:23 -04:00
rubyist
5619c5cd4a
Syncrhonize uploads until one is successful, then allow concurrent
...
To prevent being asked for credentials n times (where n = # of
concurrent uploads), we process the upload queue synchronously until one
of the uploads succeeds, and then allow concurrent uploads.
This could be a bit faster if the condition is fired after the first
successful API hit, rather than the first successful total upload, but
some deeper refactoring will need to be done.
2015-04-29 10:37:27 -04:00
rubyist
7a77a30af1
Display any errors when creating the CopyCallbackFile
2015-04-24 14:45:01 -04:00
rubyist
d977daf5a3
Use pb's new Prefix() to count completed transfers
2015-04-24 14:09:28 -04:00
rubyist
a1ed0f2dcc
Initial pass at showing a total queue progress bar
2015-04-24 11:43:38 -04:00
rubyist
f12efa26a4
Add to the wg before writing upload to channel, some renames
...
If wg.Add is called from the loop reading from the channel, there are
scenarios (number of uploads <= number of workers) where Wait() will
shut down the channels before they're read from.
2015-04-23 17:18:37 -04:00
rubyist
28818701ed
Add some docs to the upload queue code
2015-04-23 13:44:11 -04:00
rubyist
3eec3e246a
Some refactoring and struct unification around the upload queue
2015-04-23 12:42:36 -04:00