Commit Graph
62 Commits
Author SHA1 Message Date
Ruslan Kuprieiev 7e4f39d8eb dvc: show filenames in push/pull output
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-07-26 16:50:25 +03:00
Ruslan Kuprieiev 0e9774a3f8 RFC: follow flake8 rules
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-07-25 17:28:58 +03:00
Ruslan Kuprieiev 60f1deec47 dvc: don't forget to pass all_branches to push/pull/fetch
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-07-25 17:28:58 +03:00
Ruslan Kuprieiev 2cab8e03be command: remove unused code
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-07-19 07:00:39 +03:00
Ruslan Kuprieiev 0a951f5ab3 dvc: move cloud/ drivers to remote/
Fixes #741

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-06-20 19:42:33 +03:00
Ruslan Kuprieiev b1135e7edc dvc: allow specifying '--remote' param for push/pull/fetch/status
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-05 23:27:02 +03:00
Ruslan Kuprieiev 2447415657 dvc: move CmdDataStatus to a separate file
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-03-15 10:30:12 +02:00
Ruslan Kuprieiev 1d17961732 sync: capture generic exceptions
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-03-14 20:10:42 +02:00
Ruslan Kuprieiev 36be0a221a dvc: introduce 'dvc cache fetch'
Fixes #521

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-03-08 07:08:45 +02:00
Ruslan Kuprieiev cece5c308c status: print paths relative to cache dir
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-03-04 16:04:32 +02:00
Ruslan Kuprieiev dbc6e1ac88 dvc: add push/pull/status per dvc-file
Fixes #453

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-03-04 15:10:33 +02:00
Ruslan Kuprieiev 576ba96e25 Revert "cloud: process targets one-by-one"
This reverts commit 61b469144e.
2018-02-18 23:10:59 +02:00
Ruslan Kuprieiev fe8096acc1 status: use relative path
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-02-17 19:42:16 +02:00
Ruslan Kuprieiev 61b469144e cloud: process targets one-by-one
In all operations we're dealing with a single stream,
so there is no good reason to process targets in parallel
as they all use the same resource to pull\push data to.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-02-17 19:36:51 +02:00
Ruslan Kuprieiev 390ab84976 push/pull/status: catch exceptions
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-02-06 18:38:29 +02:00
Ruslan Kuprieiev e4d9755a7e dvc: cloud RFC add support for directories
Fixes #367

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-01-22 03:19:29 +02:00
Ruslan Kuprieiev a130a25e39 dvc: refactor data_cloud
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-01-15 21:11:25 +02:00
Ruslan Kuprieiev a779424a36 WIP RFC
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-12-23 09:37:40 +02:00
Ruslan Kuprieiev 7c320bbff3 pull/push: generalize CmdDataBase class
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-11-26 16:10:37 +02:00
Ruslan Kuprieiev 84cbdd8566 Revert "Generalize CmdDataBase class"
This reverts commit e753d7fc79.

It is totally broken.
2017-11-26 13:42:47 +02:00
Dmitry e753d7fc79 Generalize CmdDataBase class 2017-11-19 04:22:30 -08:00
Dmitry db625e8213 Use DvcLock from CmdBase class only 2017-11-19 04:14:12 -08:00
Dmitry 1349589ec7 Move CmdBase class to common dir 2017-11-19 03:12:37 -08:00
Ruslan Kuprieiev 831f21f555 sync: properly collect and check data items
Fixes #282

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-11-01 22:21:04 +02:00
Ruslan Kuprieiev 7ee58220ea dvc: deprecate 'sync' command
Fixes #237

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-10-01 04:03:14 +03:00
Ruslan Kuprieiev ce609c5f50 status: don't return 1 if len(statuses) != len(targets)
Number of targets from command line doesn't have to match
number of actual files that we've processed, as it may as
well be a directory.

Fixes #204

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-09-14 22:23:28 +03:00
Ruslan Kuprieiev ccd7a1339c build: fix errors on python3
These wasn't caught in pull-request as it doesn't
have secure env vars to test sync/pull/push/status.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-09-03 03:26:52 +03:00
Ruslan Kuprieiev ecbdd50542 status: error-out when cloud.status doesn't match expectations
Fixes #190

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-09-03 02:37:30 +03:00
Ruslan Kuprieiev 149c921576 dvc: add status command
This command shows status for data files. I.e.

    $ dvc status data/
        new file:       .cache/Posts-train.tsv_2ccd8e7
        new file:       data/llss
        modified:       .cache/Posts.xml_512a612
        new file:       .cache/empty_0000000
        new file:       data/oss
        new file:       .cache/matrix-test.p_69b924d
        new file:       .cache/dir21111/Posts.xml.tgz_cd71d01

so it will tell us if there are any new/modified/deleted data
files that you might want to push/pull/etc.

Fixes #158

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-08-19 20:10:24 +03:00
Ruslan Kuprieiev db43e6bc91 dvc: add pull/push commands
We already have 'sync' command, but users report it to be confusing
when both local and remote files exist, so lets introduce two direct
commands to implicitly push and pull from cloud.

Fixes #157.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-08-12 22:44:10 +03:00
Ruslan Kuprieiev a234311980 sync/cloud: move target logic to DataCloud
This should come in handy for pull and push commands.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-08-12 19:44:17 +03:00
Ruslan Kuprieiev 10f19f5c2e cloud: parse and store cloud in settings
Cloud is determined from config and stays the same from that moment,
so it makes sense to parse it once and store in settings, so whoever
needs it, could just use self.settings.cloud. This is going to be
more useful in the few next commits, where push/pull/status are introduced.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-08-12 08:00:53 +03:00
Ruslan Kuprieiev ee34fdfa31 RFC: move cmdline parsing to cli.py and settings RFC
This will make the structure of dvc more linear
making it easier to read. Plus, these changes
are needed in preparation for libdvc, as they
move all cmdline parsing to one common place.

This patch also refactors our settings system
also make it more linear and remove abstraction
levels that are not needed and only cause confusion.
There is a lot more to be done in preparation for
dvc lib and RFC overall, but this a first step
in that long journey.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-07-31 01:39:32 +03:00
Ruslan Kuprieiev 76db9db5c2 dvc: introduce --jobs option and use map_progress
It replaces POOL_SIZE constant and by default equals to the
number of cpus available.

map_progress is a helper for 'sync' and 'import' commands to
run in a multi-threaded mode.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-25 04:04:19 +03:00
Ruslan Kuprieiev bdb30cc602 sync: add progress bar for AWS
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-21 03:51:06 +03:00
Dmitry Petrov df6abc7528 Small sync and import fixes 2017-06-19 16:44:18 -07:00
Dmitry Petrov f2bac9aac1 GC command 2017-06-14 23:48:58 -07:00
Ruslan Kuprieiev 4f938cec71 dvc: introduce multithreaded import and RFC, v2
This allows us to download files in a few threads.
Also includes RFC, as we can now get rid of import-bulk.py.

v2: use POOL_SIZE=4

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-07 14:16:15 +03:00
Ruslan Kuprieiev a01ef3197c dvc: misc changes for DataCloud, 'data sync' and 'remove'
This patch introduces DataCloud class that used config to
determine proper cloud class(DataCloudAWS and DataCloudGCP
are awailable) to use in "data_sync" and "remove" commands.

This patch focuses on introducing the common class itself
saving original code and definetly needs some RFC later.

It also adds simple DataCloudLOCAL class that uses directory
as a StoragePath and cp as a sync method. Which makes testing
so much easier and covers local scenarios.

And it also introduces ability to run data sync in parallel
by collecting files first and then running sync in a number
of threads.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-05-28 22:28:58 +03:00
Dmitry Petrov 43e80bec4a Extract DvcLock logic to a separate class 2017-05-15 19:44:56 -07:00
Dmitry Petrov 819af1cd22 Cloud rename: amazon to AWS, google to GCP 2017-05-02 22:49:58 -07:00
Dmitry Petrov 6801c408c9 Get rid of cloud gonfig check in runtime init 2017-05-02 22:34:21 -07:00
Dmitry Petrov f6ad4ad5c8 Some warnings to debug 2017-05-01 21:03:23 -07:00
Dmitry Petrov 26461e910e dvc help messages 2017-05-01 16:33:58 -07:00
Dmitry Petrov 73980a1a4b Sync: warning if file cannot be synced 2017-04-28 14:58:06 -07:00
Dmitry Petrov dac5d36f9f Small changes 2017-04-28 02:23:16 -07:00
Dmitry Petrov def2ab0138 data-sync multiple imports. Close #50 2017-04-27 21:34:14 -07:00
Earl 037758e20d Merge pull request #33 from dmpetrov/elh_config
config modifications
2017-04-22 17:44:16 -07:00
Dmitry Petrov 378b56a303 Add --no-locker param 2017-04-18 09:08:40 -07:00
Earl Hathaway 677ce3a8e2 default storagepath in global rather than data
remove aws creds from dvc.conf; instead, look in: look for creds path in dvc.conf, default to ~/.aws/credentials
warn if aws creds are specified but we fall back anyway
clean up config.get_cloud -> config.cloud
sanity check the config: complain in nicer way if cloud, aws creds, or various other requirements aren't set
2017-04-17 23:15:14 -07:00