Hello community,

here is the log from the commit of package cargo-vendor for openSUSE:Factory 
checked in at 2017-09-07 22:16:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cargo-vendor (Old)
 and      /work/SRC/openSUSE:Factory/.cargo-vendor.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cargo-vendor"

Thu Sep  7 22:16:05 2017 rev:2 rq:521581 version:0.1.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/cargo-vendor/cargo-vendor.changes        
2017-08-30 16:21:16.121816675 +0200
+++ /work/SRC/openSUSE:Factory/.cargo-vendor.new/cargo-vendor.changes   
2017-09-07 22:16:21.352411325 +0200
@@ -1,0 +2,6 @@
+Tue Sep  5 20:56:30 UTC 2017 - [email protected]
+
+- Update to 0.1.11
+  + no changelog provided
+
+-------------------------------------------------------------------

Old:
----
  cargo-vendor-0.1.8.tar.gz

New:
----
  cargo-vendor-0.1.11.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cargo-vendor.spec ++++++
--- /var/tmp/diff_new_pack.6GCQ2Q/_old  2017-09-07 22:16:26.567676419 +0200
+++ /var/tmp/diff_new_pack.6GCQ2Q/_new  2017-09-07 22:16:26.571675855 +0200
@@ -1,5 +1,5 @@
 #
-# spec file for package racer
+# spec file for package cargo-vendor
 #
 # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 # Copyright (c) 2017 Luke Jones, [email protected]
@@ -18,7 +18,7 @@
 
 
 Name:           cargo-vendor
-Version:        0.1.8
+Version:        0.1.11
 Release:        0
 Summary:        A Cargo subcommand to vendor Rust dependencies
 License:        MIT or Apache-2.0
@@ -29,10 +29,10 @@
 BuildRequires:  cargo
 BuildRequires:  cmake
 # BuildRequires:  pkgconfig(libgit2)
-BuildRequires:  pkgconfig(libssl)
-BuildRequires:  pkgconfig(openssl)
 BuildRequires:  rust
 BuildRequires:  rust-std
+BuildRequires:  pkgconfig(libssl)
+BuildRequires:  pkgconfig(openssl)
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description

++++++ cargo-vendor-0.1.8.tar.gz -> cargo-vendor-0.1.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cargo-vendor-0.1.8/.travis.yml 
new/cargo-vendor-0.1.11/.travis.yml
--- old/cargo-vendor-0.1.8/.travis.yml  2017-05-03 04:17:36.000000000 +0200
+++ new/cargo-vendor-0.1.11/.travis.yml 2017-06-20 19:44:31.000000000 +0200
@@ -9,8 +9,8 @@
     - env: TARGET=x86_64-unknown-linux-musl DEPLOY=1
       before_script:
         - rustup target add $TARGET
-        - curl https://www.openssl.org/source/openssl-1.0.2k.tar.gz | tar xzf -
-        - (cd openssl-1.0.2k &&
+        - curl https://www.openssl.org/source/openssl-1.0.2l.tar.gz | tar xzf -
+        - (cd openssl-1.0.2l &&
           CC=musl-gcc ./Configure --prefix=$HOME/openssl-musl no-dso no-ssl2 
no-ssl3 linux-x86_64 -fPIC &&
           make -j$(nproc) &&
           make install)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cargo-vendor-0.1.8/Cargo.lock 
new/cargo-vendor-0.1.11/Cargo.lock
--- old/cargo-vendor-0.1.8/Cargo.lock   2017-05-03 04:17:36.000000000 +0200
+++ new/cargo-vendor-0.1.11/Cargo.lock  2017-06-20 19:44:31.000000000 +0200
@@ -1,10 +1,11 @@
 [root]
 name = "cargo-vendor"
-version = "0.1.8"
+version = "0.1.11"
 dependencies = [
- "cargo 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "env_logger 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cargo 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "rustc-serialize 0.3.24 
(registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -26,39 +27,34 @@
 
 [[package]]
 name = "bitflags"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-
-[[package]]
-name = "bitflags"
-version = "0.8.2"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 
 [[package]]
 name = "cargo"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
  "advapi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "chrono 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)",
- "crates-io 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "crates-io 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
  "curl 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "docopt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "env_logger 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "filetime 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
  "flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)",
- "fs2 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "git2 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fs2 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "git2 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "git2-curl 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
  "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "libgit2-sys 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libgit2-sys 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "num_cpus 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num_cpus 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
  "psapi-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "rustc-serialize 0.3.24 
(registry+https://github.com/rust-lang/crates.io-index)",
  "semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -67,17 +63,17 @@
  "serde_ignored 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)",
  "shell-escape 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "tar 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tar 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
  "tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "term 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "toml 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "url 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "cfg-if"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 
 [[package]]
@@ -85,28 +81,28 @@
 version = "0.2.25"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
  "time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "cmake"
-version = "0.1.22"
+version = "0.1.24"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "crates-io"
-version = "0.7.0"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
  "curl 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_derive 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "url 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -119,23 +115,24 @@
 version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "curl-sys 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "curl-sys 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
  "openssl-probe 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl-sys 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "curl-sys"
-version = "0.3.11"
+version = "0.3.12"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "libz-sys 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl-sys 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libz-sys 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
  "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "vcpkg 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -145,7 +142,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
  "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "rustc-serialize 0.3.24 
(registry+https://github.com/rust-lang/crates.io-index)",
  "strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -157,11 +154,11 @@
 
 [[package]]
 name = "env_logger"
-version = "0.4.2"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -169,7 +166,7 @@
 version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -177,7 +174,7 @@
 version = "0.2.19"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
  "miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -188,39 +185,30 @@
 
 [[package]]
 name = "fs2"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
  "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "gcc"
-version = "0.3.45"
+version = "0.3.51"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 
 [[package]]
-name = "gdi32-sys"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-dependencies = [
- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
 name = "git2"
-version = "0.6.4"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "libgit2-sys 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libgit2-sys 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
  "openssl-probe 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl-sys 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "url 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -229,9 +217,9 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
  "curl 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "git2 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "git2 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "url 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -241,12 +229,12 @@
 
 [[package]]
 name = "idna"
-version = "0.1.1"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-bidi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-normalization 0.1.4 
(registry+https://github.com/rust-lang/crates.io-index)",
+ "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-normalization 0.1.5 
(registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -270,54 +258,55 @@
 
 [[package]]
 name = "libc"
-version = "0.2.22"
+version = "0.2.24"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 
 [[package]]
 name = "libgit2-sys"
-version = "0.6.9"
+version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "cmake 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "curl-sys 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "libssh2-sys 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "libz-sys 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl-sys 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "curl-sys 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libssh2-sys 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libz-sys 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
  "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "libssh2-sys"
-version = "0.2.5"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "cmake 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "libz-sys 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl-sys 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libz-sys 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
  "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "libz-sys"
-version = "1.0.13"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
  "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "vcpkg 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "log"
-version = "0.3.7"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 
 [[package]]
 name = "matches"
-version = "0.1.4"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 
 [[package]]
@@ -325,7 +314,7 @@
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -333,8 +322,8 @@
 version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -343,31 +332,31 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
  "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "net2 0.2.27 (registry+https://github.com/rust-lang/crates.io-index)",
+ "net2 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "net2"
-version = "0.2.27"
+version = "0.2.29"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "num"
-version = "0.1.37"
+version = "0.1.39"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
  "num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
  "num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -375,7 +364,7 @@
 version = "0.1.34"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -384,32 +373,32 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
  "num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "num-traits"
-version = "0.1.37"
+version = "0.1.39"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 
 [[package]]
 name = "num_cpus"
-version = "1.4.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "openssl"
-version = "0.9.11"
+version = "0.9.14"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "foreign-types 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl-sys 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -419,17 +408,20 @@
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.11"
+version = "0.9.14"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)",
- "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
  "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
- "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
+name = "percent-encoding"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+
+[[package]]
 name = "pkg-config"
 version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index";
@@ -453,29 +445,29 @@
 version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.1.17"
+version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 
 [[package]]
 name = "regex"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
  "aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex-syntax 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "thread_local 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "regex-syntax"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 
 [[package]]
@@ -502,6 +494,11 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 
 [[package]]
+name = "serde"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+
+[[package]]
 name = "serde_codegen_internals"
 version = "0.14.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
@@ -534,11 +531,22 @@
 dependencies = [
  "dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
+name = "serde_json"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+dependencies = [
+ "dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "shell-escape"
 version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
@@ -568,11 +576,11 @@
 
 [[package]]
 name = "tar"
-version = "0.4.11"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
  "filetime 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -594,11 +602,11 @@
 
 [[package]]
 name = "thread-id"
-version = "3.0.0"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
  "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -606,7 +614,7 @@
 version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "thread-id 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "thread-id 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -616,8 +624,8 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
  "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "redox_syscall 0.1.17 
(registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "redox_syscall 0.1.18 
(registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -631,15 +639,15 @@
 
 [[package]]
 name = "unicode-bidi"
-version = "0.2.5"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 
 [[package]]
@@ -657,25 +665,22 @@
 
 [[package]]
 name = "url"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 dependencies = [
- "idna 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "percent-encoding 1.0.0 
(registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
-name = "user32-sys"
-version = "0.2.0"
+name = "utf8-ranges"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-dependencies = [
- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-]
 
 [[package]]
-name = "utf8-ranges"
-version = "1.0.0"
+name = "vcpkg"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 
 [[package]]
@@ -705,83 +710,84 @@
 [metadata]
 "checksum advapi32-sys 0.2.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb8a9a"
 "checksum aho-corasick 0.6.3 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699"
-"checksum bitflags 0.7.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"
-"checksum bitflags 0.8.2 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4"
-"checksum cargo 0.18.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"e2653a029489bac6a2846fc7bde476c14ba66045c426a72a9575eb5312b446ea"
-"checksum cfg-if 0.1.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"de1e760d7b6535af4241fca8bd8adf68e2e7edacc6b29f5d399050c5e48cf88c"
+"checksum bitflags 0.9.1 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"
+"checksum cargo 0.19.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"31e994b6c067b4d2df88ded3e2a2b926c4340e2e473113f9baa77b1f5f9416bd"
+"checksum cfg-if 0.1.1 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29"
 "checksum chrono 0.2.25 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"9213f7cd7c27e95c2b57c49f0e69b1ea65b27138da84a170133fd21b07659c00"
-"checksum cmake 0.1.22 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"d18d68987ed4c516dcc3e7913659bfa4076f5182eea4a7e0038bb060953e76ac"
-"checksum crates-io 0.7.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"adbbd5aa757bb6c4676a0c864546f2518b379c929ddaaca191df22c3ba68d1c9"
+"checksum cmake 0.1.24 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"b8ebbb35d3dc9cd09497168f33de1acb79b265d350ab0ac34133b98f8509af1f"
+"checksum crates-io 0.8.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"9e78241ab8c204c0cdf14e634c28136cdc02308e894b3ec47b7117032a34494a"
 "checksum crossbeam 0.2.10 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97"
 "checksum curl 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" 
= "c90e1240ef340dd4027ade439e5c7c2064dd9dc652682117bd50d1486a3add7b"
-"checksum curl-sys 0.3.11 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"23e7e544dc5e1ba42c4a4a678bd47985e84b9c3f4d3404c29700622a029db9c3"
+"checksum curl-sys 0.3.12 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"f00c8ba847fb0730c293069b4d1203dc01bf3c2e1f90b4e55f426ed8f4a1eeac"
 "checksum docopt 0.7.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"ab32ea6e284d87987066f21a9e809a73c14720571ef34516f0890b3d355ccfd8"
 "checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" 
= "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90"
-"checksum env_logger 0.4.2 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"e3856f1697098606fc6cb97a93de88ca3f3bc35bb878c725920e6e82ecf05e83"
+"checksum env_logger 0.4.3 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b"
 "checksum filetime 0.1.10 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"5363ab8e4139b8568a6237db5248646e5a8a2f89bd5ccb02092182b11fd3e922"
 "checksum flate2 0.2.19 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c"
 "checksum foreign-types 0.2.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8a29d"
-"checksum fs2 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = 
"34edaee07555859dc13ca387e6ae05686bb4d0364c95d649b6dab959511f4baf"
-"checksum gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)" 
= "40899336fb50db0c78710f53e87afc54d8c7266fb76262fecc78ca1a7f09deae"
-"checksum gdi32-sys 0.2.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"0912515a8ff24ba900422ecda800b52f4016a56251922d397c576bf92c690518"
-"checksum git2 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" 
= "046ae03385257040b2a35e56d9669d950dd911ba2bf48202fbef73ee6aab27b2"
+"checksum fs2 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = 
"9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c2866"
+"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" 
= "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a"
+"checksum git2 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" 
= "aa01936ac96555c083c0e8553f672616274408d9d3fc5b8696603fbf63ff43ee"
 "checksum git2-curl 0.7.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5bf8e"
 "checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" 
= "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
-"checksum idna 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" 
= "6ac85ec3f80c8e4e99d9325521337e14ec7555c458a14e377d189659a427f375"
+"checksum idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" 
= "2233d4940b1f19f0418c158509cd7396b8d70a5db5705ce410914dc8fa603b37"
 "checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" 
= "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c"
 "checksum kernel32-sys 0.2.2 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
 "checksum lazy_static 0.2.8 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf"
-"checksum libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)" 
= "babb8281da88cba992fa1f4ddec7d63ed96280a1a53ec9b919fd37b53d71e502"
-"checksum libgit2-sys 0.6.9 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"a3aaa20337a0e79fb75180b6a1970c1f7cff9a413f570d6b999b38a5d5d54e81"
-"checksum libssh2-sys 0.2.5 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"91e135645c2e198a39552c8c7686bb5b83b1b99f64831c040a6c2798a1195934"
-"checksum libz-sys 1.0.13 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"e5ee912a45d686d393d5ac87fac15ba0ba18daae14e8e7543c63ebf7fb7e970c"
-"checksum log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = 
"5141eca02775a762cc6cd564d8d2c50f67c0ea3a372cbf1c51592b3e029e10ad"
-"checksum matches 0.1.4 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"efd7622e3022e1a6eaa602c4cea8912254e5582c9c692e9167714182244801b1"
+"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" 
= "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc"
+"checksum libgit2-sys 0.6.12 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"df18a822100352d9863b302faf6f8f25c0e77f0e60feb40e5dbe1238b7f13b1d"
+"checksum libssh2-sys 0.2.6 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"0db4ec23611747ef772db1c4d650f8bd762f07b461727ec998f953c614024b75"
+"checksum libz-sys 1.0.16 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"3fdd64ef8ee652185674455c1d450b83cbc8ad895625d543b5324d923f82e4d8"
+"checksum log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = 
"880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b"
+"checksum matches 0.1.6 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376"
 "checksum memchr 1.0.1 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4"
 "checksum miniz-sys 0.1.9 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"28eaee17666671fa872e567547e8428e83308ebe5808cdf6a0e28397dbe2c726"
 "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" 
= "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
-"checksum net2 0.2.27 (registry+https://github.com/rust-lang/crates.io-index)" 
= "18b9642ad6222faf5ce46f6966f59b71b9775ad5758c9e09fcf0a6c8061972b4"
-"checksum num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" 
= "98b15ba84e910ea7a1973bccd3df7b31ae282bf9d8bd2897779950c9b8303d40"
+"checksum net2 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)" 
= "bc01404e7568680f1259aa5729539f221cb1e6d047a0d9053cab4be8a73b5d67"
+"checksum num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" 
= "2c3a3dc9f30bf824141521b30c908a859ab190b76e20435fcd89f35eb6583887"
 "checksum num-integer 0.1.34 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37"
 "checksum num-iter 0.1.33 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e"
-"checksum num-traits 0.1.37 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"e1cbfa3781f3fe73dc05321bed52a06d2d491eaa764c52335cf4399f046ece99"
-"checksum num_cpus 1.4.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"ca313f1862c7ec3e0dfe8ace9fa91b1d9cb5c84ace3d00f5ec4216238e93c167"
-"checksum openssl 0.9.11 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"241bcf67b1bb8d19da97360a925730bdf5b6176d434ab8ded55b4ca632346e3a"
+"checksum num-traits 0.1.39 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"1708c0628602a98b52fad936cf3edb9a107af06e52e49fdf0707e884456a6af6"
+"checksum num_cpus 1.5.1 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"6e416ba127a4bb3ff398cb19546a8d0414f73352efe2857f4060d36f5fe5983a"
+"checksum openssl 0.9.14 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"11ba043cb65fc9af71a431b8a36ffe8686cd4751cdf70a473ec1d01066ac7e41"
 "checksum openssl-probe 0.1.1 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f378daf"
-"checksum openssl-sys 0.9.11 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"e5e0fd64cb2fa018ed2e7b2c8d9649114fe5da957c9a67432957f01e5dcc82e9"
+"checksum openssl-sys 0.9.14 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"236c718c2e2c2b58a546d86ffea5194400bb15dbe01ca85325ffd357b03cf66c"
+"checksum percent-encoding 1.0.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356"
 "checksum pkg-config 0.3.9 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903"
 "checksum psapi-sys 0.1.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a2478"
 "checksum quote 0.3.15 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
 "checksum rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" 
= "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d"
-"checksum redox_syscall 0.1.17 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"29dbdfd4b9df8ab31dec47c6087b7b13cbf4a776f335e4de8efba8288dda075b"
-"checksum regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" 
= "4278c17d0f6d62dfef0ab00028feb45bd7d2102843f80763474eeb1be8a10c01"
-"checksum regex-syntax 0.4.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"2f9191b1f57603095f105d317e375d19b1c9c5c3185ea9633a99a6dcbed04457"
+"checksum redox_syscall 0.1.18 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"3041aeb6000db123d2c9c751433f526e1f404b23213bd733167ab770c3989b4d"
+"checksum regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" 
= "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b"
+"checksum regex-syntax 0.4.1 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db"
 "checksum rustc-serialize 0.3.24 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
 "checksum semver 0.6.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537"
 "checksum semver-parser 0.7.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 "checksum serde 0.9.15 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"34b623917345a631dc9608d5194cc206b3fe6c3554cd1c75b937e55e285254af"
+"checksum serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" 
= "c2f530d36fb84ec48fb7146936881f026cdbf4892028835fd9398475f82c1bb4"
 "checksum serde_codegen_internals 0.14.2 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"bc888bd283bd2420b16ad0d860e35ad8acb21941180a83a189bb2046f9d00400"
 "checksum serde_derive 0.9.15 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"978fd866f4d4872084a81ccc35e275158351d3b9fe620074e7d7504b816b74ba"
 "checksum serde_ignored 0.0.2 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"d4b3f5576874721d14690657e9f0ed286e72a52be2f6fdc0cf2f024182bd8f64"
 "checksum serde_json 0.9.10 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"ad8bcf487be7d2e15d3d543f04312de991d631cfe1b43ea0ade69e6a8a5b16a1"
+"checksum serde_json 1.0.2 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"48b04779552e92037212c3615370f6bd57a40ebba7f20e554ff9f55e41a69a7b"
 "checksum shell-escape 0.1.3 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b84ef8"
 "checksum strsim 0.6.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694"
 "checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" 
= "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
 "checksum synom 0.11.3 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
-"checksum tar 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" 
= "c2374f318bbe2c5ac6c83dd6240d5f1a73106f72d39b3f7d6f8d8637c7b425d8"
+"checksum tar 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" 
= "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f2b1b"
 "checksum tempdir 0.3.5 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6"
 "checksum term 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" 
= "d168af3930b369cfe245132550579d47dfd873d69470755a19c2c6568dbbd989"
-"checksum thread-id 3.0.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"4437c97558c70d129e40629a5b385b3fb1ffac301e63941335e4d354081ec14a"
+"checksum thread-id 3.1.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"8df7875b676fddfadffd96deea3b1124e5ede707d4884248931077518cf1f773"
 "checksum thread_local 0.3.3 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"c85048c6260d17cf486ceae3282d9fb6b90be220bf5b28c400f5485ffc29f0c7"
 "checksum time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" 
= "ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3"
 "checksum toml 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" 
= "bd86ad9ebee246fdedd610e0f6d0587b754a3d81438db930a244d0480ed7878f"
-"checksum unicode-bidi 0.2.5 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"d3a078ebdd62c0e71a709c3d53d2af693fe09fe93fbff8344aebe289b78f9032"
-"checksum unicode-normalization 0.1.4 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"e28fa37426fceeb5cf8f41ee273faa7c82c47dc8fba5853402841e665fcd86ff"
+"checksum unicode-bidi 0.3.3 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"a6a2c4e3710edd365cd7e78383153ed739fa31af19f9172f72d3575060f5a43a"
+"checksum unicode-normalization 0.1.5 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f"
 "checksum unicode-xid 0.0.4 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
 "checksum unreachable 0.1.1 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91"
-"checksum url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = 
"f5ba8a749fb4479b043733416c244fa9d1d3af3d7c23804944651c8a448cb87e"
-"checksum user32-sys 0.2.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"4ef4711d107b21b410a3a974b1204d9accc8b10dad75d8324b5d755de1617d47"
+"checksum url 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = 
"a69a2e36a5e5ed3f3063c8c64a3b028c4d50d689fa6c862abd7cfe65f882595c"
 "checksum utf8-ranges 1.0.0 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122"
+"checksum vcpkg 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" 
= "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd5487d0b"
 "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" 
= "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
 "checksum winapi 0.2.8 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
 "checksum winapi-build 0.1.1 
(registry+https://github.com/rust-lang/crates.io-index)" = 
"2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cargo-vendor-0.1.8/Cargo.toml 
new/cargo-vendor-0.1.11/Cargo.toml
--- old/cargo-vendor-0.1.8/Cargo.toml   2017-05-03 04:17:36.000000000 +0200
+++ new/cargo-vendor-0.1.11/Cargo.toml  2017-06-20 19:44:31.000000000 +0200
@@ -1,6 +1,6 @@
 [package]
 name = "cargo-vendor"
-version = "0.1.8"
+version = "0.1.11"
 authors = ["Alex Crichton <[email protected]>"]
 license = "MIT/Apache-2.0"
 readme = "README.md"
@@ -12,6 +12,7 @@
 """
 
 [dependencies]
-cargo = "0.18"
+cargo = "0.19"
 rustc-serialize = "0.3"
 env_logger = "0.4"
+serde_json = "1.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cargo-vendor-0.1.8/README.md 
new/cargo-vendor-0.1.11/README.md
--- old/cargo-vendor-0.1.8/README.md    2017-05-03 04:17:36.000000000 +0200
+++ new/cargo-vendor-0.1.11/README.md   2017-06-20 19:44:31.000000000 +0200
@@ -13,13 +13,19 @@
 Currently this can be installed with:
 
 ```
-$ cargo install cargo-vendor
+$ cargo install --git https://github.com/alexcrichton/cargo-vendor
 ```
 
 You can also install [precompiled
 binaries](https://github.com/alexcrichton/cargo-vendor/releases) that are
 assembled on the CI for this crate.
 
+Note that the 0.1.9 release contains a number of ergonomic fixes over the 0.1.8
+release, but depends on the `cargo` crate from git so can't be published to
+crates.io just yet. The 0.1.10 version should be able to get published to
+crates.io on 2017-06-08. In the meantime it's recommended to install from git 
to
+get the latest version.
+
 ## Example Usage
 
 Simply run `cargo vendor` inside of any Cargo project:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cargo-vendor-0.1.8/src/main.rs 
new/cargo-vendor-0.1.11/src/main.rs
--- old/cargo-vendor-0.1.8/src/main.rs  2017-05-03 04:17:36.000000000 +0200
+++ new/cargo-vendor-0.1.11/src/main.rs 2017-06-20 19:44:31.000000000 +0200
@@ -1,16 +1,17 @@
 extern crate cargo;
 extern crate env_logger;
 extern crate rustc_serialize;
+#[macro_use]
+extern crate serde_json;
 
 use std::cmp;
-use std::collections::{BTreeMap, HashMap};
+use std::collections::{BTreeMap, HashMap, BTreeSet};
 use std::env;
 use std::fs::{self, File};
 use std::io::{self, Read, Write};
 use std::path::Path;
 
 use rustc_serialize::hex::ToHex;
-use rustc_serialize::json::{self, ToJson};
 
 use cargo::core::{SourceId, Dependency, Workspace};
 use cargo::CliResult;
@@ -20,17 +21,34 @@
 #[derive(RustcDecodable)]
 struct Options {
     arg_path: Option<String>,
-    flag_sync: Option<String>,
+    flag_no_delete: Option<bool>,
+    flag_version: bool,
+    flag_sync: Option<Vec<String>>,
     flag_host: Option<String>,
     flag_verbose: u32,
     flag_quiet: Option<bool>,
     flag_explicit_version: Option<bool>,
     flag_color: Option<String>,
+    flag_frozen: bool,
+    flag_locked: bool,
 }
 
 fn main() {
     env_logger::init().unwrap();
-    let config = Config::default().unwrap();
+
+    // We're doing the vendoring operation outselves, so we don't actually want
+    // to respect any of the `source` configuration in Cargo itself. That's
+    // intended for other consumers of Cargo, but we want to go straight to the
+    // source, e.g. crates.io, to fetch crates.
+    let config = {
+        let config_orig = Config::default().unwrap();
+        let mut values = config_orig.values().unwrap().clone();
+        values.remove("source");
+        let config = Config::default().unwrap();
+        config.set_values(values).unwrap();
+        config
+    };
+
     let args = env::args().collect::<Vec<_>>();
     let result = cargo::call_main_without_stdin(real_main, &config, r#"
 Vendor all dependencies for a project locally
@@ -40,12 +58,27 @@
 
 Options:
     -h, --help               Print this message
-    -s, --sync LOCK          Sync the registry with LOCK
+    -V, --version            Print version information
+    -s, --sync TOML ...      Sync the `Cargo.toml` or `Cargo.lock` specified
     --host HOST              Registry index to sync with
     -v, --verbose ...        Use verbose output
     -q, --quiet              No output printed to stdout
     -x, --explicit-version   Always include version in subdir name
+    --no-delete              Don't delete older crates in the vendor directory
+    --frozen                 Require Cargo.lock and cache are up to date
+    --locked                 Require Cargo.lock is up to date
     --color WHEN             Coloring: auto, always, never
+
+This cargo subcommand will vendor all crates.io dependencies for a project into
+the specified directory at `<path>`. The `cargo vendor` command is intended to
+be run in the same directory as `Cargo.toml`, but the manifest can also be
+specified via the `--sync` flag. After this command completes the vendor
+directory specified by `<path>` will contain all sources from crates.io
+necessary to build the manifests specified.
+
+The `cargo vendor` command will also print out the configuration necessary
+to use the vendored sources, which when needed is then encoded into
+`.cargo/config`.
 "#, &args, false);
 
     if let Err(e) = result {
@@ -54,11 +87,16 @@
 }
 
 fn real_main(options: Options, config: &Config) -> CliResult {
+    if options.flag_version {
+        println!("{} {}", env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"));
+        return Ok(());
+    }
+
     try!(config.configure(options.flag_verbose,
                           options.flag_quiet,
                           &options.flag_color,
-                          /* frozen = */ false,
-                          /* locked = */ false));
+                          options.flag_frozen,
+                          options.flag_locked));
 
     let default = "vendor".to_string();
     let path = Path::new(options.arg_path.as_ref().unwrap_or(&default));
@@ -72,24 +110,35 @@
         SourceId::crates_io(config)
     }));
 
-    let lockfile = match options.flag_sync {
-        Some(ref file) => file,
+    let workspaces = match options.flag_sync {
+        Some(list) => {
+            list.iter().map(|path| {
+                let path = Path::new(path);
+                let manifest = if path.ends_with("Cargo.lock") {
+                    config.cwd().join(path.with_file_name("Cargo.toml"))
+                } else {
+                    config.cwd().join(path)
+                };
+                Workspace::new(&manifest, config)
+            }).collect::<CargoResult<Vec<_>>>()?
+        }
         None => {
-            try!(fs::metadata("Cargo.lock").chain_error(|| {
-                human("could not find `Cargo.lock`, must be run in a directory 
\
-                       with Cargo.lock or use the `--sync` option")
-            }));
-            "Cargo.lock"
+            let manifest = config.cwd().join("Cargo.toml");
+            vec![Workspace::new(&manifest, config)?]
         }
     };
 
-    let explicit = options.flag_explicit_version.unwrap_or(false);
-    try!(sync(Path::new(lockfile), &path, &id, config, 
explicit).chain_error(|| {
+    try!(sync(&workspaces,
+              &path,
+              &id,
+              config,
+              options.flag_explicit_version.unwrap_or(false),
+              options.flag_no_delete.unwrap_or(false)).chain_error(|| {
         human("failed to sync")
     }));
 
     if !options.flag_quiet.unwrap_or(false) {
-        println!("add this to your .cargo/config for this project:
+        println!("To use vendored sources, add this to your .cargo/config for 
this project:
 
     [source.crates-io]
     registry = '{}'
@@ -104,21 +153,23 @@
     Ok(())
 }
 
-fn sync(lockfile: &Path,
+fn sync(workspaces: &[Workspace],
         local_dst: &Path,
         registry_id: &SourceId,
         config: &Config,
-        explicit_version: bool) -> CargoResult<()> {
+        explicit_version: bool,
+        no_delete: bool) -> CargoResult<()> {
+    let mut ids = BTreeSet::new();
     let mut registry = registry_id.load(config);
-    let manifest = lockfile.parent().unwrap().join("Cargo.toml");
-    let manifest = env::current_dir().unwrap().join(&manifest);
-    let ws = try!(Workspace::new(&manifest, config));
-    let resolve = try!(cargo::ops::load_pkg_lockfile(&ws).chain_error(|| {
-        human("failed to load pkg lockfile")
-    }));
-    let resolve = try!(resolve.chain_error(|| {
-        human(format!("lock file `{}` does not exist", lockfile.display()))
-    }));
+
+    for ws in workspaces {
+        let (_, resolve) = try!(cargo::ops::resolve_ws(&ws).chain_error(|| {
+            human("failed to load pkg lockfile")
+        }));
+        ids.extend(resolve.iter()
+                     .filter(|id| id.source_id() == registry_id)
+                     .cloned());
+    }
 
     let hash = cargo::util::hex::short_hash(registry_id);
     let ident = registry_id.url().host().unwrap().to_string();
@@ -127,16 +178,20 @@
     let src = config.registry_source_path().join(&part);
     let cache = config.registry_cache_path().join(&part);
 
-    let ids = resolve.iter()
-                     .filter(|id| id.source_id() == registry_id)
-                     .cloned()
-                     .collect::<Vec<_>>();
     let mut max = HashMap::new();
     for id in ids.iter() {
         let max = max.entry(id.name()).or_insert(id.version());
         *max = cmp::max(id.version(), *max)
     }
 
+    let existing_crates = local_dst.read_dir().map(|iter| {
+        iter.filter_map(|e| e.ok())
+            .filter(|e| e.path().join("Cargo.toml").exists())
+            .map(|e| e.path())
+            .collect::<Vec<_>>()
+    }).unwrap_or(Vec::new());
+
+    let mut added_crates = Vec::new();
     for id in ids.iter() {
         // First up, download the package
         let vers = format!("={}", id.version());
@@ -170,16 +225,26 @@
         // Next up, copy it to the vendor directory
         let name = format!("{}-{}", id.name(), id.version());
         let src = src.join(&name).into_path_unlocked();
-        let dst_name = if !explicit_version && id.version() == max[id.name()] {
-            id.name().to_string()
-        } else {
+        let dir_has_version_suffix = explicit_version || id.version() != 
max[id.name()];
+        let dst_name = if dir_has_version_suffix {
+            // Eg vendor/futures-0.1.13
             format!("{}-{}", id.name(), id.version())
+        } else {
+            // Eg vendor/futures
+            id.name().to_string()
         };
         let dst = local_dst.join(&dst_name);
+        added_crates.push(dst.clone());
+
         let cksum = dst.join(".cargo-checksum.json");
-        if cksum.exists() {
+        if dir_has_version_suffix && cksum.exists() {
+            // Always re-copy directory without version suffix in case the 
version changed
             continue
         }
+
+        config.shell().status("Vendoring",
+                              &format!("{} to {}", id, dst.display()))?;
+
         let _ = fs::remove_dir_all(&dst);
         let mut map = BTreeMap::new();
         try!(cp_r(&src, &dst, &dst, &mut map).chain_error(|| {
@@ -187,14 +252,23 @@
         }));
 
         // Finally, emit the metadata about this package
-        let mut json = BTreeMap::new();
         let crate_file = format!("{}-{}.crate", id.name(), id.version());
         let crate_file = cache.join(&crate_file).into_path_unlocked();
-        json.insert("package", try!(sha256(&crate_file)).to_json());
-        json.insert("files", map.to_json());
-        let json = json::encode(&json).unwrap();
 
-        try!(try!(File::create(&cksum)).write_all(json.as_bytes()));
+        let json = json!({
+            "package": try!(sha256(&crate_file)),
+            "files": map,
+        });
+
+        
try!(try!(File::create(&cksum)).write_all(json.to_string().as_bytes()));
+    }
+
+    if !no_delete {
+        for path in existing_crates {
+            if !added_crates.contains(&path) {
+                try!(fs::remove_dir_all(&path));
+            }
+        }
     }
 
     Ok(())
@@ -208,11 +282,23 @@
     for entry in try!(src.read_dir()) {
         let entry = try!(entry);
 
-        // Skip .gitattributes as they're not relevant to builds most of the
-        // time and if we respect them (e.g. in git) then it'll probably mess
-        // with the checksums.
-        if entry.file_name().to_str() == Some(".gitattributes") {
-            continue
+        match entry.file_name().to_str() {
+            // Skip git config files as they're not relevant to builds most of
+            // the time and if we respect them (e.g.  in git) then it'll
+            // probably mess with the checksums when a vendor dir is checked
+            // into someone else's source control
+            Some(".gitattributes") => continue,
+            Some(".gitignore") => continue,
+
+            // Skip patch-style orig/rej files. Published crates on crates.io
+            // have `Cargo.toml.orig` which we don't want to use here and
+            // otherwise these are rarely used as part of the build process.
+            Some(filename) => {
+                if filename.ends_with(".orig") || filename.ends_with(".rej") {
+                    continue;
+                }
+            }
+            _ => ()
         }
 
         let src = entry.path();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cargo-vendor-0.1.8/tests/vendor.rs 
new/cargo-vendor-0.1.11/tests/vendor.rs
--- old/cargo-vendor-0.1.8/tests/vendor.rs      1970-01-01 01:00:00.000000000 
+0100
+++ new/cargo-vendor-0.1.11/tests/vendor.rs     2017-06-20 19:44:31.000000000 
+0200
@@ -0,0 +1,291 @@
+use std::env;
+use std::fs::{self, File};
+use std::io::{Read, Write};
+use std::path::{Path, PathBuf};
+use std::process::Command;
+use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT};
+
+fn vendor(dir: &Path) -> Command {
+    let mut me = env::current_exe().unwrap();
+    me.pop();
+    if me.ends_with("deps") {
+        me.pop();
+    }
+    me.push("cargo-vendor");
+    let mut cmd = Command::new(&me);
+    cmd.arg("vendor");
+    cmd.current_dir(dir);
+    return cmd
+}
+
+static CNT: AtomicUsize = ATOMIC_USIZE_INIT;
+
+fn dir() -> PathBuf {
+    let i = CNT.fetch_add(1, Ordering::SeqCst);
+    let mut dir = env::current_exe().unwrap();
+    dir.pop();
+    if dir.ends_with("deps") {
+        dir.pop();
+    }
+    dir.pop();
+    dir.push("tmp");
+    drop(fs::create_dir(&dir));
+    dir.push(&format!("test{}", i));
+    drop(fs::remove_dir_all(&dir));
+    fs::create_dir(&dir).unwrap();
+    return dir
+}
+
+fn file(dir: &Path, path: &str, contents: &str) {
+    let path = dir.join(path);
+    println!("writing {:?}", path);
+    fs::create_dir_all(path.parent().unwrap()).unwrap();
+    File::create(path).unwrap().write_all(contents.as_bytes()).unwrap();
+}
+
+fn read(path: &Path) -> String {
+    let mut contents = String::new();
+    File::open(path).unwrap().read_to_string(&mut contents).unwrap();
+       contents
+}
+
+fn run(cmd: &mut Command) -> (String, String) {
+    println!("running {:?}", cmd);
+    let output = cmd.output().unwrap();
+    if !output.status.success() {
+        println!("stdout: ----------\n{}", 
String::from_utf8_lossy(&output.stdout));
+        println!("stderr: ----------\n{}", 
String::from_utf8_lossy(&output.stderr));
+        panic!("not successful: {}", output.status);
+    }
+
+    (String::from_utf8(output.stdout).unwrap(),
+     String::from_utf8(output.stderr).unwrap())
+}
+
+#[test]
+fn vendor_simple() {
+    let dir = dir();
+
+    file(&dir, "Cargo.toml", r#"
+        [package]
+        name = "foo"
+        version = "0.1.0"
+
+        [dependencies]
+        log = "=0.3.5"
+    "#);
+    file(&dir, "src/lib.rs", "");
+
+    run(&mut vendor(&dir));
+
+    let lock = read(&dir.join("vendor/log/Cargo.toml"));
+    assert!(lock.contains("version = \"0.3.5\""));
+
+    assert_vendor_works(&dir);
+}
+
+fn add_vendor_config(dir: &Path) {
+    file(&dir, ".cargo/config", r#"
+        [source.crates-io]
+        replace-with = 'vendor'
+
+        [source.vendor]
+        directory = 'vendor'
+    "#);
+}
+
+fn assert_vendor_works(dir: &Path) {
+    add_vendor_config(dir);
+    run(Command::new("cargo").arg("build").current_dir(&dir));
+}
+
+#[test]
+fn two_versions() {
+    let dir = dir();
+
+    file(&dir, "Cargo.toml", r#"
+        [package]
+        name = "foo"
+        version = "0.1.0"
+
+        [dependencies]
+        bitflags = "=0.8.0"
+        bar = { path = "bar" }
+    "#);
+    file(&dir, "src/lib.rs", "");
+    file(&dir, "bar/Cargo.toml", r#"
+        [package]
+        name = "bar"
+        version = "0.1.0"
+
+        [dependencies]
+        bitflags = "=0.7.0"
+    "#);
+    file(&dir, "bar/src/lib.rs", "");
+
+    run(&mut vendor(&dir));
+
+    let lock = read(&dir.join("vendor/bitflags/Cargo.toml"));
+    assert!(lock.contains("version = \"0.8.0\""));
+    let lock = read(&dir.join("vendor/bitflags-0.7.0/Cargo.toml"));
+    assert!(lock.contains("version = \"0.7.0\""));
+
+    assert_vendor_works(&dir);
+}
+
+#[test]
+fn help() {
+    run(vendor(Path::new(".")).arg("--help"));
+}
+
+#[test]
+fn update_versions() {
+    let dir = dir();
+
+    file(&dir, "Cargo.toml", r#"
+        [package]
+        name = "foo"
+        version = "0.1.0"
+
+        [dependencies]
+        bitflags = "=0.7.0"
+    "#);
+    file(&dir, "src/lib.rs", "");
+
+    run(&mut vendor(&dir));
+
+    let lock = read(&dir.join("vendor/bitflags/Cargo.toml"));
+    assert!(lock.contains("version = \"0.7.0\""));
+
+    file(&dir, "Cargo.toml", r#"
+        [package]
+        name = "foo"
+        version = "0.1.0"
+
+        [dependencies]
+        bitflags = "=0.8.0"
+    "#);
+    run(&mut vendor(&dir));
+
+    let lock = read(&dir.join("vendor/bitflags/Cargo.toml"));
+    assert!(lock.contains("version = \"0.8.0\""));
+}
+
+#[test]
+fn two_lockfiles() {
+    let dir = dir();
+
+    file(&dir, "foo/Cargo.toml", r#"
+        [package]
+        name = "foo"
+        version = "0.1.0"
+
+        [dependencies]
+        bitflags = "=0.7.0"
+    "#);
+    file(&dir, "foo/src/lib.rs", "");
+    file(&dir, "bar/Cargo.toml", r#"
+        [package]
+        name = "bar"
+        version = "0.1.0"
+
+        [dependencies]
+        bitflags = "=0.8.0"
+    "#);
+    file(&dir, "bar/src/lib.rs", "");
+
+    run(vendor(&dir).arg("-s").arg("foo/Cargo.toml")
+                    .arg("-s").arg("bar/Cargo.toml"));
+
+    let lock = read(&dir.join("vendor/bitflags/Cargo.toml"));
+    assert!(lock.contains("version = \"0.8.0\""));
+    let lock = read(&dir.join("vendor/bitflags-0.7.0/Cargo.toml"));
+    assert!(lock.contains("version = \"0.7.0\""));
+
+    add_vendor_config(&dir);
+    run(Command::new("cargo").arg("build").current_dir(&dir.join("foo")));
+    run(Command::new("cargo").arg("build").current_dir(&dir.join("bar")));
+}
+
+#[test]
+fn revendor_with_config() {
+    let dir = dir();
+
+    file(&dir, "Cargo.toml", r#"
+        [package]
+        name = "foo"
+        version = "0.1.0"
+
+        [dependencies]
+        bitflags = "=0.7.0"
+    "#);
+    file(&dir, "src/lib.rs", "");
+
+    run(&mut vendor(&dir));
+    let lock = read(&dir.join("vendor/bitflags/Cargo.toml"));
+    assert!(lock.contains("version = \"0.7.0\""));
+
+    add_vendor_config(&dir);
+    file(&dir, "Cargo.toml", r#"
+        [package]
+        name = "foo"
+        version = "0.1.0"
+
+        [dependencies]
+        bitflags = "=0.8.0"
+    "#);
+    run(&mut vendor(&dir));
+    let lock = read(&dir.join("vendor/bitflags/Cargo.toml"));
+    assert!(lock.contains("version = \"0.8.0\""));
+}
+
+#[test]
+fn delete_old_crates() {
+    let dir = dir();
+
+    file(&dir, "Cargo.toml", r#"
+        [package]
+        name = "foo"
+        version = "0.1.0"
+
+        [dependencies]
+        bitflags = "=0.7.0"
+    "#);
+    file(&dir, "src/lib.rs", "");
+
+    run(&mut vendor(&dir));
+    read(&dir.join("vendor/bitflags/Cargo.toml"));
+
+    file(&dir, "Cargo.toml", r#"
+        [package]
+        name = "foo"
+        version = "0.1.0"
+
+        [dependencies]
+        log = "=0.3.5"
+    "#);
+
+    run(&mut vendor(&dir));
+    let lock = read(&dir.join("vendor/log/Cargo.toml"));
+    assert!(lock.contains("version = \"0.3.5\""));
+    assert!(!dir.join("vendor/bitflags/Cargo.toml").exists());
+}
+
+#[test]
+fn ignore_files() {
+    let dir = dir();
+
+    file(&dir, "Cargo.toml", r#"
+        [package]
+        name = "foo"
+        version = "0.1.0"
+
+        [dependencies]
+        url = "=1.4.1"
+    "#);
+    file(&dir, "src/lib.rs", "");
+
+    run(&mut vendor(&dir));
+    let csum = read(&dir.join("vendor/url/.cargo-checksum.json"));
+    assert!(!csum.contains("\"Cargo.toml.orig\""));
+}

++++++ vendor.tar.xz ++++++
/work/SRC/openSUSE:Factory/cargo-vendor/vendor.tar.xz 
/work/SRC/openSUSE:Factory/.cargo-vendor.new/vendor.tar.xz differ: char 25, 
line 1


Reply via email to