Seth Vargo
9e5b587e66
Re-add TODO
2014-12-08 11:35:15 -08:00
Seth Vargo
70b61047c7
Do not support multiple strategies right now
2014-12-08 11:35:15 -08:00
Seth Vargo
6b48199346
Infer push name when only one strategy is defined, support multiple strategies
2014-12-08 11:35:15 -08:00
Mitchell Hashimoto
4a64da5663
Fix some issues around push, fix tests, add missing translations
2014-12-08 11:35:15 -08:00
Seth Vargo
1121e96cf7
Remove TODO comment about duplicate code
2014-12-08 11:35:11 -08:00
Seth Vargo
03b8105571
Super primitive implementation of Environment#push
2014-12-08 11:35:10 -08:00
Seth Vargo
b6c5ca6b7a
Add Push command and tests
2014-12-08 11:35:10 -08:00
Rob Kinyon
14b84a4a76
Added a --plugin-clean-sources parameter that will allow for
...
only those sources that are defined by the user to be used.
2014-10-28 21:53:41 -04:00
Fabian Ruff
8990e18e6d
fix copy and paste bug
2014-10-27 18:23:00 +01:00
Fabian Ruff
d33c7b4d7a
Add password to rdp_info hash
...
Any specific reason the password was omitted from the rdp_info hash?
Without the password in the rdp_info hash I see no way of figuring out the password in the rdp_client capability.
2014-10-27 18:21:02 +01:00
Mitchell Hashimoto
f23c5ebc46
commands/plugin: list puts plugin namein machine readable output
...
[GH-4506]
2014-10-23 12:00:46 -07:00
Mitchell Hashimoto
06defb37c7
commands/up: if all machines autostart:false, start none [GH-4552]
2014-10-23 11:46:22 -07:00
Ray Ruvinskiy
5a7e00c5b1
Add HTTPS download options to `box update` and `box outdated`
...
Vagrant::Box.load_metadata did not provide a way to specify the HTTPS
download options that could be specified when downloading boxes
(ca cert, ca path, client cert, insecure). As a result, while it was
possible to add a box whose metadata file needed to be downloaded with one of
those options specified, it was impossible to check for updates. The following
changes have been made to address the situation:
1. Create a DownloadMixins module to provide the --insecure, --cacert, --capth,
and --cert command line options to all of `vagrant box add`,
`vagrant box update`, and `vagrant box outdated`.
2. Extend `Vagrant::Box.has_update?` and `Vagrant::Box.load_metadata` to accept
said download options.
3. Extend `box outdated` and `box update` commands to pass download options
down.
4. Extend `Vagrant::Builtin::Action::BoxCheckOutdated` to honour download
options.
5. Options specified on the command line take precedence over options specified
in the machine configuration, if any.
6. Fix bug in `vagrant box add` where client cert was being passed down using
the wrong environment key.
7. Unit test coverage in update_test and box_check_outdated_test.
Resolves #4420
2014-09-07 23:57:34 -04:00
Mitchell Hashimoto
38507e2fab
commands/version: remove unused require
2014-09-01 15:29:27 -07:00
Mitchell Hashimoto
140a1b8d4b
commands/version: use checkpoint data
2014-09-01 15:23:46 -07:00
Mitchell Hashimoto
4138179207
commands/plugin: error if windows with space in dir [GH-4351]
2014-08-29 12:16:40 -07:00
Mitchell Hashimoto
e5a7bfebbc
commands/box/update: proper provider is updated [GH-4374]
2014-08-29 12:05:44 -07:00
Mitchell Hashimoto
059243670f
commands/box: update gives nice message if no box
2014-08-29 11:19:54 -07:00
Mitchell Hashimoto
77e04e2b77
commands/provision: don't advertise parallel [GH-4398]
2014-08-29 08:32:04 -07:00
Mitchell Hashimoto
8bee751898
commands/reload: show post-up message [GH-4168]
2014-08-08 17:40:07 -07:00
Shawn Neal
99a537605c
Fixed issue 4161
...
Wrong varaible name was used to try and delete the existing Vagrantfile causing an error.
2014-07-08 13:19:43 -07:00
Mitchell Hashimoto
f99b2bac5d
comamnds/box/add: change help text
2014-05-25 12:54:48 -07:00
Adam Spiers
930254c304
make init --help text more accurate
2014-05-24 20:38:24 +01:00
Adam Spiers
a87cfbeea2
make box add --help text more accurate
...
Fixes #3898 .
2014-05-24 20:37:47 +01:00
Mitchell Hashimoto
ac7012279c
commands/box/add: clarify help text
2014-05-24 11:24:25 -07:00
Kalman Hazins
bb052366f7
Change symbols inside hashes to 1.9 JSON-like syntax
2014-05-22 12:35:12 -04:00
Mitchell Hashimoto
07dbe40e98
Merge pull request #3848 from shtouff/feat-capath
...
added capath option to curl Downloader
2014-05-20 20:50:26 -07:00
Mitchell Hashimoto
2771bf8675
commands/rdp: avoid rdp_info being nil
2014-05-20 20:18:15 -07:00
Mitchell Hashimoto
4dbe534c02
commands/rdp: rdp_info cap if avail [GH-3832]
2014-05-20 20:17:21 -07:00
Rémi Paulmier
00a2670406
added capath option to curl Downloader
2014-05-19 18:08:23 +02:00
Mitchell Hashimoto
3fb7b5061e
commands/halt: halt in reverse order [GH-3790]
2014-05-14 08:29:22 -07:00
Mitchell Hashimoto
e1815a13e8
commands/rdp: support extra args to RDP client [GH-3686]
2014-05-07 18:32:20 -07:00
Mitchell Hashimoto
25589e509e
commands/reload: if --provision is present, force provision [GH-3657]
2014-05-06 16:27:58 -07:00
Mitchell Hashimoto
e3ec1027f1
commands/init: minimal flag [GH-3611]
2014-05-04 17:36:51 -07:00
Mitchell Hashimoto
ad961b24f5
commands/init: force flag [GH-3564]
2014-04-28 20:22:09 -07:00
Mitchell Hashimoto
6870de3f6d
core: add Vagrant.latest_version
2014-04-24 20:09:32 -07:00
Mitchell Hashimoto
63dffe3f92
commands/version: check latest version
2014-04-24 19:54:26 -07:00
Mitchell Hashimoto
e1c79c4692
commands/global-status: call proper method
2014-04-23 06:21:44 -07:00
Mitchell Hashimoto
5da77dee5c
commands/box/remove: add --force flag
2014-04-23 06:16:51 -07:00
Mitchell Hashimoto
e985308e9a
core: MachineIndex::Entry#valid? method and tests
2014-04-22 17:09:44 -07:00
Mitchell Hashimoto
7da9ad0fa6
commands/destroy: change exit codes [GH-811]
2014-04-21 13:55:01 -07:00
Mitchell Hashimoto
8c7ab333a0
Squash the f-docker-hostmachine branch.
...
Initial work
commands/up: make sure all names to with_target_vms are strings
providers/docker: create a docker host VM if needed
providers/docker: executor abstraction for driver to eventually support remote
providers/docker: vagrant executor
providers/docker: support creating the machine
providers/docker: status works if host VM is gone
providers/docker: use start fence to get real docker output
core: Call preserves stack ordering
core: support Message post option
providers/docker: Guard some features with HasSSH checks
providers/docker: much better messaging around create/destroy
providers/docker: output the container ID on create
providers/docker: copy the hostmachine Vagrantfile to the data dir
providers/docker: should make host machine before any up action
providers/docker: HandleBox before the host machine
providers/virtualbox: functional_vboxsf to disable vboxsf
providers/virtualbox: synced folder usable method should take 2 args
providers/docker: default machine name to :default
2014-04-21 13:54:33 -07:00
Mitchell Hashimoto
2b07dec059
core: Use the MachineIndex#vagrant_env method
2014-04-21 13:54:31 -07:00
Mitchell Hashimoto
09ff31e3a3
commands/global-status: add --prune flag
2014-04-21 13:54:29 -07:00
Mitchell Hashimoto
5b5f10e175
commands/rdp: config
2014-04-21 13:54:20 -07:00
Mitchell Hashimoto
3d0a2959cd
commands/rdp: nicer output
2014-04-21 13:54:19 -07:00
Mitchell Hashimoto
8698ebeff6
hosts/windows: use the port when connecting
2014-04-21 13:54:18 -07:00
Mitchell Hashimoto
5b960efcb1
commands/rdp: no need fo rthe guest cap
2014-04-21 13:54:17 -07:00
Mitchell Hashimoto
617cf630b1
commands/rdp: error if RDP info can't be detected
2014-04-21 13:54:16 -07:00
Mitchell Hashimoto
0fa07637f9
commands/rdp: execute propre capabilities
2014-04-21 13:54:11 -07:00
Mitchell Hashimoto
de7b4bbdc1
commands/rdp: basic skeleton
2014-04-21 13:54:09 -07:00
Mitchell Hashimoto
1c29c39f1b
core: generalize the autostart stuff so we don't have a bunch of specials
2014-04-21 13:53:35 -07:00
Mitchell Hashimoto
d7a009f447
style
2014-04-21 13:53:34 -07:00
Mitchell Hashimoto
ac5a0cf326
commands/ssh-config: work without target into multi-machine env [GH-2844]
2014-04-21 13:52:59 -07:00
Mitchell Hashimoto
f6fb9016a1
core: can specify a "post_up_message" [GH-1968]
2014-04-21 13:52:28 -07:00
Mitchell Hashimoto
e14216da4e
commands/global-status: initial go at it
2014-04-21 13:51:22 -07:00
Ramon de la Fuente
f6a5e20688
Add autostart as an option for vagrant boxes
...
Added specs for the environment and vagrantfile. Added a methd to retrieve
autostart_machine_names. Changed the plugin up/command to use autostart_machine_names
when no argument was given to the command.
2014-04-21 13:50:57 -07:00
Mitchell Hashimoto
ae8be9356e
commands/box/update: show current version [GH-3467]
2014-04-14 18:55:22 -07:00
Mitchell Hashimoto
00962c7c2a
commands/box/repackage: better error if box not found
2014-04-12 18:00:33 -07:00
Mitchell Hashimoto
adca39b471
commands/box/repackage: works with new stuff [GH-3372]
2014-04-12 17:57:51 -07:00
Christian Berendt
764c007a93
When there are multiple versions of a box are available it should be checked if an update is available for the highest version.
...
Example:
There are version 0.2.10 and 0.2.11 available. The latest update is version 0.2.12.
```
berendt/ubuntu-14.04-amd64 (virtualbox, 0.2.10)
berendt/ubuntu-14.04-amd64 (virtualbox, 0.2.11)
```
Without this patch it will be checked if a higher version than 0.2.10 is available.
```
Checking for updates to 'berendt/ubuntu-14.04-amd64'
Version constraints: > 0.2.10
Provider: virtualbox
Updating 'berendt/ubuntu-14.04-amd64' with provider 'virtualbox' from version
'0.2.10' to '0.2.12'...
Loading metadata for box 'https://vagrantcloud.com/berendt/ubuntu-14.04-amd64 '
Adding box 'berendt/ubuntu-14.04-amd64' (v0.2.12) for provider: virtualbox
Downloading: https://vagrantcloud.com/berendt/ubuntu-14.04-amd64/version/23/provider/virtualbox.box
Successfully added box 'berendt/ubuntu-14.04-amd64' (v0.2.12) for 'virtualbox'!
```
with this patch it will be checked if a higher version than 0.2.11 is available (the expected behaviour).
```
Checking for updates to 'berendt/ubuntu-14.04-amd64'
Version constraints: > 0.2.11
Provider: virtualbox
Updating 'berendt/ubuntu-14.04-amd64' with provider 'virtualbox' from version
'0.2.11' to '0.2.12'...
Loading metadata for box 'https://vagrantcloud.com/berendt/ubuntu-14.04-amd64 '
Adding box 'berendt/ubuntu-14.04-amd64' (v0.2.12) for provider: virtualbox
Downloading: https://vagrantcloud.com/berendt/ubuntu-14.04-amd64/version/23/provider/virtualbox.box
Successfully added box 'berendt/ubuntu-14.04-amd64' (v0.2.12) for 'virtualbox'!
```
2014-04-12 11:03:04 +02:00
Mitchell Hashimoto
cc99719717
Merge pull request #3293 from emyl/machine-readable-plugin-list
...
Add machine readable output for `vagrant plugin list` command
2014-04-01 22:29:21 -07:00
Mitchell Hashimoto
d45eb1f183
commands/box: show version
2014-04-01 22:04:49 -07:00
Christian Berendt
50bf36e747
display version by default when listing boxes
...
example usage:
$ vagrant box list
berendt/ubuntu-14.04-amd64 (virtualbox) [0.1.3]
berendt/ubuntu-14.04-amd64 (virtualbox) [0.1.4]
berendt/ubuntu-14.04-amd64 (virtualbox) [0.1.5]
related to issue #3313
2014-03-25 18:45:13 +01:00
Emiliano Ticci
08e7a76962
Add machine readable output for `vagrant plugin list` command
2014-03-23 13:09:16 +01:00
Mitchell Hashimoto
b6cd952fc4
commands/status: target for machine readable [GH-3218]
2014-03-14 13:05:24 -07:00
Mitchell Hashimoto
5db58d6a33
commands/plugin: list notes system gems
2014-03-03 14:57:42 -08:00
Mitchell Hashimoto
dd9dd5127c
Merge pull request #2948 from gnawhleinad/master
...
command/*: clean up usage
2014-02-10 09:02:32 -08:00
Lukasz Jastrzebski
654870a185
Fixing ssh_config proxy_command is not included
2014-02-09 16:27:32 -08:00
gnawhleinad
fbcac2978e
clean up usage
2014-02-08 00:20:50 -08:00
Mitchell Hashimoto
8e9ceeaf5c
core: Machine has reference to Vagrantfile
2014-02-07 09:16:55 -08:00
Mitchell Hashimoto
cdf1d7f318
core: get rid of all uses of config_global
2014-02-06 20:22:15 -08:00
Mitchell Hashimoto
85aa7db17e
commands/box: repackage tests
2014-02-05 21:20:29 -08:00
Mitchell Hashimoto
7a6d1a3ff1
commands/box: update command can update a specific box now
2014-02-05 21:20:23 -08:00
Mitchell Hashimoto
386938f0b1
commands/box: update looks prettier on output
2014-02-05 21:20:22 -08:00
Mitchell Hashimoto
cf9004241e
core: output what we're updating and what we're not
2014-02-05 21:20:21 -08:00
Mitchell Hashimoto
88b64f93a4
commands/box: "update" command
2014-02-05 21:20:19 -08:00
Mitchell Hashimoto
61a1082d65
core: BoxCheckOutdated is *much* simpler, unified logic, tests
2014-02-05 21:20:18 -08:00
Mitchell Hashimoto
b5157df2cc
core: BoxCheckOutdated only runs if told to
2014-02-05 21:20:14 -08:00
Mitchell Hashimoto
d78194654d
core: ability to hide success UI
2014-02-05 21:20:12 -08:00
Mitchell Hashimoto
e537e02d9d
core: BoxCheckOutdated can check if a box is outdated
2014-02-05 21:20:11 -08:00
Mitchell Hashimoto
f2509f5c65
commands/box: outdated command to find outdated boxes
2014-02-05 21:20:10 -08:00
Mitchell Hashimoto
b71cde6b99
core: make box add UI much icer
2014-02-05 21:19:44 -08:00
Mitchell Hashimoto
c1d5c8f33c
commands/box: remove has --box-version flag
2014-02-05 21:19:43 -08:00
Mitchell Hashimoto
29da748702
commands/box/remove: update for new syntax
2014-02-05 21:19:41 -08:00
Mitchell Hashimoto
acc57a3c18
core: clarify output for boxadd error message
2014-02-05 21:19:36 -08:00
Mitchell Hashimoto
28a6beaa56
commands/box: can constrain the version
2014-02-05 21:19:25 -08:00
Mitchell Hashimoto
96e92167d9
commands/box: broken box adding, but more options/tests
2014-02-05 21:19:16 -08:00
Mitchell Hashimoto
e8197c4e87
commands/box: list works with the new versions
2014-02-05 21:19:14 -08:00
Mitchell Hashimoto
5030a16f84
kernel/v2: default all configs properly, remove config/default.rb
2014-02-05 15:36:35 -08:00
Mitchell Hashimoto
8bc36824bf
commands/list-commands: lists all commands primary and non-primary
2014-01-11 09:32:13 -08:00
Mitchell Hashimoto
ea502c5c3d
commands/plugin: vagrant plugin install can accept multiple
2014-01-07 14:17:48 -08:00
Mitchell Hashimoto
24a2892236
Update CHANGELOG and website
2014-01-07 14:11:33 -08:00
Ryan S. Brown
b53ae446d2
Allow `vagrant (un)install plugin1 plugin2 plugin3`
2014-01-07 14:09:31 -08:00
Mitchell Hashimoto
86cab61c27
commands/plugin: support installing from file
2014-01-06 09:27:37 -08:00
Mitchell Hashimoto
f612ec7549
core: support plugin sources, and mask Bundler errors
2014-01-05 23:13:49 -08:00
Mitchell Hashimoto
0117521744
commands/plugin: vagrant update is fancier now (see website docs)
2014-01-05 22:33:05 -08:00
Mitchell Hashimoto
561e65ec72
commands/plugin: list shows version constraints and entrypoints
2014-01-05 21:16:41 -08:00
Mitchell Hashimoto
bef7051943
commands/plugin: InstallGem tests
2014-01-05 21:08:55 -08:00
Mitchell Hashimoto
aeb0d1a480
commands/plugin: fix plugin existence middleware, add tests
2014-01-05 20:57:55 -08:00
Mitchell Hashimoto
5fe2994005
commands/plugin: convert all actions to use the new classes
2014-01-05 20:50:25 -08:00
Mitchell Hashimoto
8904319beb
commands/plugin: install version and entrypoints work
2014-01-05 20:47:02 -08:00
Mitchell Hashimoto
9dc1307b7c
commands/plugin: remove --plugin-prerelease
2014-01-05 17:46:20 -08:00
Mitchell Hashimoto
d368b3cf62
core: Tolerate syntax errors in ~/.gemrc [GH-2760]
2014-01-05 17:11:24 -08:00
Mitchell Hashimoto
8823f43f3a
commands/plugin: error if uninstall non-existent plugin
2014-01-05 16:03:00 -08:00
Mitchell Hashimoto
e1c9431085
commands/plugin: uninstall works again
2014-01-05 16:02:00 -08:00
Mitchell Hashimoto
95aeb9443d
commands/plugin: Remove PruneGems
2014-01-05 14:55:44 -08:00
Mitchell Hashimoto
86610bf735
installing gems works
2014-01-05 14:54:50 -08:00
Mitchell Hashimoto
1eef75a715
commands/plugin: list uses PluginManager
2014-01-05 08:42:34 -08:00
Mitchell Hashimoto
279b171339
commands/plugin: remove unnecessary line
2014-01-04 17:22:07 -08:00
Mitchell Hashimoto
ae17dc09eb
commands/plugin: list plugins uses Bundler
2014-01-04 17:21:53 -08:00
Mitchell Hashimoto
8450f20e87
Move StateFile into Vagrant::Plugin core
2014-01-04 16:45:41 -08:00
Mitchell Hashimoto
5387984e0f
commands/plugin: allow within Bundler env (cause we always are)
2014-01-04 16:32:46 -08:00
Mitchell Hashimoto
5d39cc381f
Merge pull request #2694 from tmatilai/plugin-json-errors
...
core: show more informative error if plugin.json parsing fails
2013-12-28 13:12:59 -08:00
Mitchell Hashimoto
0316665ad8
commands/plugin: use default version requirement
2013-12-28 14:10:57 -07:00
Teemu Matilainen
a5b84f413e
core: More informative error if plugin.json parsing fails
2013-12-20 07:10:10 -03:00
Mitchell Hashimoto
da91572ce7
commands/init: error if can't write Vagrantfile [GH-2660]
2013-12-15 11:28:51 -08:00
Mitchell Hashimoto
2c568a75f2
commands/ssh: use proper variable
2013-12-13 22:32:01 -08:00
Mitchell Hashimoto
902b769e6b
core: -t/-T work for vagrant ssh -c [GH-2618]
2013-12-13 21:07:54 -08:00
Teemu Matilainen
294f4def91
Fix `vagrant plugin` commands
...
`StateFile#installed_plugins` returns now a Hash instead of Array.
Fixes regression from 39b2539
.
2013-12-04 18:25:33 -03:00
Mitchell Hashimoto
d354cdda4a
core: request users upgrade plugins if they're old
2013-12-04 11:43:39 -08:00
Mitchell Hashimoto
236141ba90
commands/plugin: old state files default to 0 for vagrant version
2013-12-04 11:29:17 -08:00
Mitchell Hashimoto
39b2539ec7
commands/plugin: state file keeps track of the Vagrant version
2013-12-04 11:17:48 -08:00
Mitchell Hashimoto
4f17a70c4e
commands/plugin: ignore default gems when pruning
...
For modern RubyGems compatibility
2013-12-03 23:48:06 -08:00
Mitchell Hashimoto
72edddbb09
core: do proper type conversions for box checksum types
2013-12-01 23:03:21 -08:00
Mitchell Hashimoto
1094ac976e
core: support checksum on box add
2013-12-01 23:03:20 -08:00
Mitchell Hashimoto
cd3e19306c
commands/box/add: custom CA cert [GH-2337]
2013-11-26 19:32:56 -08:00
Mitchell Hashimoto
13b52f6b6e
Merge branch 'client-certs' of https://github.com/sthulb/vagrant into sthulb-client-certs
...
Conflicts:
config/default.rb
lib/vagrant/action/builtin/handle_box_url.rb
plugins/commands/box/command/add.rb
2013-11-25 16:50:11 -08:00
Mitchell Hashimoto
48973a72d5
commands/box/list: clean up
2013-11-25 13:26:46 -08:00
Mitchell Hashimoto
3bedc77cc4
Merge branch '2293-track-box-url' of https://github.com/fgrehm/vagrant into fgrehm-2293-track-box-url
...
Conflicts:
plugins/commands/box/command/list.rb
2013-11-25 13:20:26 -08:00
Mitchell Hashimoto
7ba9d2d0a0
commands/init: add --output flag [GH-1364]
2013-11-24 11:53:15 -08:00
Mitchell Hashimoto
5cbc54d570
commands/box: list has machine-readable output
2013-11-24 11:42:24 -08:00
Mitchell Hashimoto
15d639c8dc
website: document machine-readable output
2013-11-24 11:37:57 -08:00
Mitchell Hashimoto
42a71a953d
commands/status: add machine-readable output
2013-11-24 11:11:38 -08:00
Mitchell Hashimoto
f66d08d73c
commands/plugin: style nitpick
2013-11-23 16:45:45 -08:00
Mitchell Hashimoto
63005fc1c6
Merge pull request #2420 from tmacedo/rubygems_2_compatibility
...
core: compatibility with rubygems 2.x
2013-11-23 16:44:10 -08:00
Mitchell Hashimoto
46d9ded812
commands/box/add: add --clean flag to ignore continuation
2013-11-23 15:55:52 -08:00
Mitchell Hashimoto
97389d4255
core: output synopsis with command [GH-2249]
2013-11-23 14:00:42 -08:00
Fabio Rehm
48875124b9
commands/box: Read box URL and downloaded date from JSON
2013-10-29 13:09:24 -02:00
Fabio Rehm
05a8cf523a
core: Get rid of code that deals with box info on a separate statefile
2013-10-29 13:09:24 -02:00
Fabio Rehm
18cf66e83a
commands/box: List base box downloaded URL and datetime when `-i` gets provided to `box list`
2013-10-29 13:09:24 -02:00
Fabio Rehm
cbc7e7eedb
commands/box: Preparing to display additional box information on `box list`
2013-10-29 13:09:23 -02:00
Fabio Rehm
031119a858
commands/box: Extract a base class for dealing with StateFile instantiation
2013-10-29 13:09:23 -02:00
Fabio Rehm
1c689d2211
core: Remove box information from state file after box removal
2013-10-29 13:09:23 -02:00
Fabio Rehm
e4b5db829e
commands/box: Extract box removal code from `box remove` command into a builtin action
2013-10-29 13:09:23 -02:00
Fabio Rehm
17fd5f9e4e
commands/box: Introduce a StateFile for keeping track of downloaded boxes
2013-10-29 13:09:23 -02:00
Tiago Macedo
2d66d94ebe
compatibility with rubygems 2.x
2013-10-25 11:27:17 +02:00
canausa
10883b3be6
Add --no-parallel to provision
2013-10-21 10:19:42 -04:00
Mitchell Hashimoto
b8dc881792
commands/up: validate provision-with args [GH-1957]
2013-09-02 15:06:03 -07:00
Mitchell Hashimoto
ac1404b9ac
commands/plugin: Add "update" subcommand
2013-09-02 09:31:26 -07:00