History

adapt to changes in git-repository and git-transport

Sebastian Thiel committed 3 years ago

Commit d3363681 parent 61d89f55 files · +30 −6Browse files

Unified · Split

5 files
  1. etc/check-package-size.sh +2 −2
  2. git-repository/src/remote/connect.rs +1 −0
  3. git-repository/tests/repository/config/mod.rs +3 −0
  4. gitoxide-core/src/pack/receive.rs +15 −2
  5. src/plumbing/progress.rs +9 −2
etc/check-package-size.sh+2−2
@@ -31,7 +31,7 @@ echo "in root: gitoxide CLI" · 30 unmodified lines
31(enter git-lock && indent cargo diet -n --package-size-limit 20KB)31(enter git-lock && indent cargo diet -n --package-size-limit 20KB)
32(enter git-config && indent cargo diet -n --package-size-limit 120KB)32(enter git-config && indent cargo diet -n --package-size-limit 120KB)
33(enter git-config-value && indent cargo diet -n --package-size-limit 20KB)33(enter git-config-value && indent cargo diet -n --package-size-limit 20KB)
34(enter git-command && indent cargo diet -n --package-size-limit 5KB)34(enter git-command && indent cargo diet -n --package-size-limit 10KB)
35(enter git-hash && indent cargo diet -n --package-size-limit 30KB)35(enter git-hash && indent cargo diet -n --package-size-limit 30KB)
36(enter git-chunk && indent cargo diet -n --package-size-limit 10KB)36(enter git-chunk && indent cargo diet -n --package-size-limit 10KB)
37(enter git-rebase && indent cargo diet -n --package-size-limit 5KB)37(enter git-rebase && indent cargo diet -n --package-size-limit 5KB)
@@ -59,5 +59,5 @@ echo "in root: gitoxide CLI" · 21 unmodified lines
59(enter git-protocol && indent cargo diet -n --package-size-limit 80KB)59(enter git-protocol && indent cargo diet -n --package-size-limit 80KB)
60(enter git-packetline && indent cargo diet -n --package-size-limit 35KB)60(enter git-packetline && indent cargo diet -n --package-size-limit 35KB)
61(enter git-repository && indent cargo diet -n --package-size-limit 250KB)61(enter git-repository && indent cargo diet -n --package-size-limit 250KB)
62(enter git-transport && indent cargo diet -n --package-size-limit 75KB)62(enter git-transport && indent cargo diet -n --package-size-limit 80KB)
63(enter gitoxide-core && indent cargo diet -n --package-size-limit 100KB)63(enter gitoxide-core && indent cargo diet -n --package-size-limit 100KB)
git-repository/src/remote/connect.rs+1−0
@@ -83,6 +83,7 @@ impl<'repo> Remote<'repo> { · 82 unmodified lines
83 P: Progress,83 P: Progress,
84 {84 {
85 let (url, version) = self.sanitized_url_and_version(direction)?;85 let (url, version) = self.sanitized_url_and_version(direction)?;
86 #[cfg(feature = "blocking-network-client")]
86 let scheme_is_ssh = url.scheme == git_url::Scheme::Ssh;87 let scheme_is_ssh = url.scheme == git_url::Scheme::Ssh;
87 let transport = git_protocol::transport::connect(88 let transport = git_protocol::transport::connect(
88 url,89 url,
git-repository/tests/repository/config/mod.rs+3−0
@@ -38,11 +38,14 @@ mod ssh_options { · 37 unmodified lines
38#[cfg(any(feature = "blocking-network-client", feature = "async-network-client"))]38#[cfg(any(feature = "blocking-network-client", feature = "async-network-client"))]
39mod transport_options;39mod transport_options;
40 40
41#[cfg(feature = "blocking-network-client")]
41use git_repository as git;42use git_repository as git;
43#[cfg(feature = "blocking-network-client")]
42pub fn repo(name: &str) -> git::Repository {44pub fn repo(name: &str) -> git::Repository {
43 repo_opts(name, |opts| opts.strict_config(true))45 repo_opts(name, |opts| opts.strict_config(true))
44}46}
45 47
48#[cfg(feature = "blocking-network-client")]
46pub fn repo_opts(name: &str, modify: impl FnOnce(git::open::Options) -> git::open::Options) -> git::Repository {49pub fn repo_opts(name: &str, modify: impl FnOnce(git::open::Options) -> git::open::Options) -> git::Repository {
47 let dir = git_testtools::scripted_fixture_read_only("make_config_repos.sh").unwrap();50 let dir = git_testtools::scripted_fixture_read_only("make_config_repos.sh").unwrap();
48 git::open_opts(dir.join(name), modify(git::open::Options::isolated())).unwrap()51 git::open_opts(dir.join(name), modify(git::open::Options::isolated())).unwrap()
gitoxide-core/src/pack/receive.rs+15−2
@@ -161,7 +161,13 @@ mod blocking_io { · 160 unmodified lines
161 P: Progress,161 P: Progress,
162 P::SubProgress: 'static,162 P::SubProgress: 'static,
163 {163 {
164 let transport = net::connect(url, protocol.unwrap_or_default().into())?;164 let transport = net::connect(
165 url,
166 git::protocol::transport::client::connect::Options {
167 version: protocol.unwrap_or_default().into(),
168 ..Default::default()
169 },
170 )?;
165 let delegate = CloneDelegate {171 let delegate = CloneDelegate {
166 ctx,172 ctx,
167 directory,173 directory,
@@ -236,7 +242,14 @@ mod async_io { · 68 unmodified lines
236 P: Progress + 'static,242 P: Progress + 'static,
237 W: io::Write + Send + 'static,243 W: io::Write + Send + 'static,
238 {244 {
239 let transport = net::connect(url.to_string(), protocol.unwrap_or_default().into()).await?;245 let transport = net::connect(
246 url,
247 git::protocol::transport::client::connect::Options {
248 version: protocol.unwrap_or_default().into(),
249 ..Default::default()
250 },
251 )
252 .await?;
240 let mut delegate = CloneDelegate {253 let mut delegate = CloneDelegate {
241 ctx,254 ctx,
242 directory,255 directory,
src/plumbing/progress.rs+9−2
@@ -97,11 +97,11 @@ static GIT_CONFIG: &[Record] = &[ · 96 unmodified lines
97 },97 },
98 Record {98 Record {
99 config: "core.sshCommand",99 config: "core.sshCommand",
100 usage: Planned { note: Some("unclear right now how to configure it, needs adjustment on Command based transport, must be lazy then making `connect()` a no-op essentially.") },100 usage: InModule { name: "repository::config", deviation: None }
101 },101 },
102 Record {102 Record {
103 config: "ssh.variant",103 config: "ssh.variant",
104 usage: Planned { note: Some("another way to select which ssh program to use, but formalizing it to choose correct arguments. Based on the basename otherwise. Detection is attempted otherwise with `-G`") },104 usage: InModule { name: "repository::config", deviation: Some("We error if a variant is chosen that we don't know, as opposed to defaulting to 'ssh'") }
105 },105 },
106 Record {106 Record {
107 config: "core.fileMode",107 config: "core.fileMode",
@@ -884,6 +884,13 @@ static GIT_CONFIG: &[Record] = &[ · 776 unmodified lines
884 deviation: Some("corresponds to the EMAIL environment variable and is a fallback for `user.email`")884 deviation: Some("corresponds to the EMAIL environment variable and is a fallback for `user.email`")
885 }885 }
886 },886 },
887 Record {
888 config: "gitoxide.ssh.commandWithoutShellFallback",
889 usage: InModule {
890 name: "repository::config",
891 deviation: Some("Corresponds to the value of `GIT_SSH` and is always executed without shell and treated as fallback.")
892 }
893 },
887 Record {894 Record {
888 config: "gitoxide.objects.cacheLimit",895 config: "gitoxide.objects.cacheLimit",
889 usage: InModule {896 usage: InModule {