"env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"filetime 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"flate2 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "git2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "git2-curl 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "git2 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "git2-curl 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
"glob 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
"hamcrest 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"kernel32-sys 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "libgit2-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libgit2-sys 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"num_cpus 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
"regex 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
[[package]]
name = "git2"
-version = "0.3.0"
+version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "libgit2-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libgit2-sys 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
"url 0.2.37 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "git2-curl"
-version = "0.3.0"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"curl 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "git2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "git2 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"url 0.2.37 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "libgit2-sys"
-version = "0.3.2"
+version = "0.2.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cmake 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
"libssh2-sys 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
"libz-sys 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
env_logger = "0.3"
filetime = "0.1"
flate2 = "0.2"
-git2 = "0.3"
-git2-curl = "0.3"
+git2 = "0.2"
+git2-curl = "0.2"
glob = "0.2"
kernel32-sys = "0.1"
libc = "0.1"
-libgit2-sys = "0.3"
+libgit2-sys = "0.2"
log = "0.3"
num_cpus = "0.2"
regex = "0.1"
with_authentication(url, &try!(repo.config()), |f| {
let mut cb = git2::RemoteCallbacks::new();
cb.credentials(f);
- let mut remote = try!(repo.remote_anonymous(&url));
- let mut opts = git2::FetchOptions::new();
- opts.remote_callbacks(cb)
- .download_tags(git2::AutotagOption::All);
- try!(remote.fetch(&[refspec], Some(&mut opts), None));
+ let mut remote = try!(repo.remote_anonymous(&url, Some(refspec)));
+ try!(remote.add_fetch("refs/tags/*:refs/tags/*"));
+ remote.set_callbacks(cb);
+ try!(remote.fetch(&["refs/tags/*:refs/tags/*", refspec], None));
Ok(())
})
}
let path = path.to_str().unwrap().replace(r"\", "/");
let mut s = repo.submodule(url, Path::new(&path), false).unwrap();
let subrepo = s.open().unwrap();
- subrepo.remote_add_fetch("origin", "refs/heads/*:refs/heads/*").unwrap();
let mut origin = subrepo.find_remote("origin").unwrap();
- origin.fetch(&[], None, None).unwrap();
+ origin.add_fetch("refs/heads/*:refs/heads/*").unwrap();
+ origin.fetch(&[], None).unwrap();
+ origin.save().unwrap();
subrepo.checkout_head(None).unwrap();
s.add_finalize().unwrap();
return s;
assert_eq!(req, vec![
"GET /foo/bar/info/refs?service=git-upload-pack HTTP/1.1",
"Accept: */*",
- "User-Agent: git/1.0 (libgit2 0.23.0)",
+ "User-Agent: git/1.0 (libgit2 0.22.0)",
].into_iter().map(|s| s.to_string()).collect());
drop(s);
"GET /foo/bar/info/refs?service=git-upload-pack HTTP/1.1",
"Authorization: Basic Zm9vOmJhcg==",
"Accept: */*",
- "User-Agent: git/1.0 (libgit2 0.23.0)",
+ "User-Agent: git/1.0 (libgit2 0.22.0)",
].into_iter().map(|s| s.to_string()).collect());
});
addr = addr,
errmsg = if cfg!(windows) {
"[[..]] failed to send request: [..]\n"
- } else if cfg!(target_os = "macos") {
- "[[..]] unexpected return value from ssl handshake [..]"
} else {
"[[..]] SSL error: [..]"
})));
sub.sync().unwrap();
{
let subrepo = sub.open().unwrap();
- subrepo.remote_add_fetch("origin",
- "refs/heads/*:refs/heads/*").unwrap();
- subrepo.remote_set_url("origin",
- &git_project3.url().to_string()).unwrap();
let mut origin = subrepo.find_remote("origin").unwrap();
- origin.fetch(&[], None, None).unwrap();
+ origin.set_url(&git_project3.url().to_string()).unwrap();
+ origin.add_fetch("refs/heads/*:refs/heads/*").unwrap();;
+ origin.fetch(&[], None).unwrap();
+ origin.save().unwrap();
+
let id = subrepo.refname_to_id("refs/remotes/origin/master").unwrap();
let obj = subrepo.find_object(id, None).unwrap();
subrepo.reset(&obj, git2::ResetType::Hard, None).unwrap();