Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support the --all option for Git::Base#fetch #583

Merged
merged 1 commit into from May 21, 2022
Merged

Conversation

jcouball
Copy link
Member

@jcouball jcouball commented May 18, 2022

Signed-off-by: James Couball jcouball@yahoo.com

Your checklist for this pull request

🚨Please review the guidelines for contributing to this repository.

  • Ensure all commits include DCO sign-off.
  • Ensure that your contributions pass unit testing.
  • Ensure that your contributions contain documentation if applicable.

Description

The fix for GHSA-69p6-wvmq-27gg broke a workflow for some folks (like @matthewriedel-flux) by removing the ability to fetch all remotes.

This adds --all to the list of available flags for the #fetch method. It does not add :a as an alternative flag, as git fetch -a and git fetch --all are not the same thing.

This PR builds on the work by @matthewriedel-flux in PR #579. This PR adds tests to make sure that the git-fetch command line is built properly based on the opts passed to Git::Base#fetch. Additionally, this PR allows leaving off the remote arg as follows:

# With no args:
git.fetch
# Specifying a remote:
git.fetch('origin')
# Specifying args without a remote:
git.fetch(all: true, force: true, depth: 2)

Note that one difference between this PR and PR #579 is that this will cause an error rather than silently ignoring the given remote name:

git.fetch('origin', all: true)

Signed-off-by: James Couball <jcouball@yahoo.com>
@jcouball jcouball mentioned this pull request May 18, 2022
3 tasks
@jcouball jcouball changed the title Support the --all option for git fetch Support the --all option for Git::Base#fetch May 18, 2022
@jcouball
Copy link
Member Author

@matthewriedel-flux I'd be interested in your feedback on this PR.

@jcouball jcouball merged commit 6f2b3fd into master May 21, 2022
@jcouball jcouball deleted the support_fetch_all branch May 21, 2022 16:52
p-mongo pushed a commit to p-mongodb/ruby-git that referenced this pull request May 27, 2022
…' into mine

* p/diff-submodule: (36 commits)
  Support --submodule option to git diff.
  Support the --all option for git fetch (ruby-git#583)
  Workaround to get JRuby build working (ruby-git#582)
  Update README.md (ruby-git#580)
  Make the directory param to Git.clone optional (ruby-git#578)
  Make Git::URL.clone_to handle cloning to bare and mirror repos (ruby-git#577)
  Add Git::URL #parse and #clone_to methods (ruby-git#575)
  Use the head version of yard (ruby-git#573)
  Release v1.11.0
  Supress unneeded test output (ruby-git#570)
  Add support for fetch options "--force/-f" and "--prune-tags/-P". (ruby-git#563)
  Fix bug when grepping lines that contain numbers surrounded by colons (ruby-git#566)
  remove from maintainer (ruby-git#567)
  Address command line injection in Git::Lib#fetch
  Release v1.10.2 (ruby-git#561)
  Add create-release, setup, and console dev scripts (ruby-git#560)
  Store tempfile objects to prevent deletion during tests (ruby-git#555)
  Release v1.10.1 (ruby-git#553)
  Properly escape double quotes in shell commands on Windows (ruby-git#552)
  Properly unescape diff paths (ruby-git#504)
  ...

* p/set-url-push: (36 commits)
  Add :push option to remote_set_url.
  Support the --all option for git fetch (ruby-git#583)
  Workaround to get JRuby build working (ruby-git#582)
  Update README.md (ruby-git#580)
  Make the directory param to Git.clone optional (ruby-git#578)
  Make Git::URL.clone_to handle cloning to bare and mirror repos (ruby-git#577)
  Add Git::URL #parse and #clone_to methods (ruby-git#575)
  Use the head version of yard (ruby-git#573)
  Release v1.11.0
  Supress unneeded test output (ruby-git#570)
  Add support for fetch options "--force/-f" and "--prune-tags/-P". (ruby-git#563)
  Fix bug when grepping lines that contain numbers surrounded by colons (ruby-git#566)
  remove from maintainer (ruby-git#567)
  Address command line injection in Git::Lib#fetch
  Release v1.10.2 (ruby-git#561)
  Add create-release, setup, and console dev scripts (ruby-git#560)
  Store tempfile objects to prevent deletion during tests (ruby-git#555)
  Release v1.10.1 (ruby-git#553)
  Properly escape double quotes in shell commands on Windows (ruby-git#552)
  Properly unescape diff paths (ruby-git#504)
  ...
@jcouball jcouball mentioned this pull request Aug 18, 2022
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant