diff options
| -rw-r--r-- | src/git_remote_helper.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/git_remote_helper.rs b/src/git_remote_helper.rs index 4cafba1..2333b66 100644 --- a/src/git_remote_helper.rs +++ b/src/git_remote_helper.rs | |||
| @@ -641,7 +641,12 @@ async fn push( | |||
| 641 | 641 | ||
| 642 | // TODO make async - check gitlib2 callbacks work async | 642 | // TODO make async - check gitlib2 callbacks work async |
| 643 | let git_config = git_repo.git_repo.config()?; | 643 | let git_config = git_repo.git_repo.config()?; |
| 644 | for (git_server_url, refspecs) in remote_refspecs { | 644 | for (git_server_url, remote_refspecs) in remote_refspecs { |
| 645 | let remote_refspecs = remote_refspecs | ||
| 646 | .iter() | ||
| 647 | .filter(|refspec| refspecs.contains(refspec)) | ||
| 648 | .cloned() | ||
| 649 | .collect::<Vec<String>>(); | ||
| 645 | if !refspecs.is_empty() { | 650 | if !refspecs.is_empty() { |
| 646 | if let Ok(mut git_server_remote) = git_repo.git_repo.remote_anonymous(&git_server_url) { | 651 | if let Ok(mut git_server_remote) = git_repo.git_repo.remote_anonymous(&git_server_url) { |
| 647 | let auth = GitAuthenticator::default(); | 652 | let auth = GitAuthenticator::default(); |
| @@ -662,7 +667,7 @@ async fn push( | |||
| 662 | Ok(()) | 667 | Ok(()) |
| 663 | }); | 668 | }); |
| 664 | push_options.remote_callbacks(remote_callbacks); | 669 | push_options.remote_callbacks(remote_callbacks); |
| 665 | let _ = git_server_remote.push(&refspecs, Some(&mut push_options)); | 670 | let _ = git_server_remote.push(&remote_refspecs, Some(&mut push_options)); |
| 666 | let _ = git_server_remote.disconnect(); | 671 | let _ = git_server_remote.disconnect(); |
| 667 | } | 672 | } |
| 668 | } | 673 | } |