wp-cli / handbook

📖 Complete documentation for WP-CLI
https://make.wordpress.org/cli/handbook/
MIT License
187 stars 324 forks source link

Remove "hub" requirement #461

Open salcode opened 1 year ago

salcode commented 1 year ago

Feature Request

Currently, https://make.wordpress.org/cli/handbook/contributions/pull-requests/ indicates hub is a required tool

Install Composer and hub if you don’t already have them.

and some commands are hub specific, e.g.

hub clone wp-cli/core-command

Proposed Solution

Modify the language and example commands to use git commands directly, rather than hub.

Optionally, call out hub as a useful tool that can be used.

Possible Drawbacks

  1. Commands will be slightly more verbose.
  2. Will we need to differentiate between a HTTPS or SSH clone?
danielbachhuber commented 12 months ago

@salcode Did you want to submit a PR for this?

salcode commented 12 months ago

I don't anticipate submitting a PR for this in the immediate future due to a combination of this change being more complex than I additionally identified and my current time limitations.

While I still think removing hub as a requirement is a good move to make and hope to ultimately revisit this, I understand if you want to close this issue for the time being.

Complexity of Removing hub

As I started writing up changes, I realized how powerful the hub tool is.

For example this line

run hub fork here to create a pushable repository on GitHub.

encompasses a lot of changes in a simple command. It is non-trivial to replace this line.

I still think we should remove hub as a dependency however it brings up the question of how to document this. Do we:

a. Expect a certain level of knowledge around using Git and remotes (e.g. "Create a fork of the repository and update your remote to push your changes to the newly forked repo") b. Link to an external resource which explains how to fork a project and update your remote c. Including all of the information about how to visit the GitHub repo (e.g. something like

  1. click the fork button
  2. copy the "clone" URL remote on the newly created fork
  3. go to your local install and run this command while substituting the new "clone" URL you copied

Why I Still Think We Should Remove Hub

While hub abstracts away all of these changes, this abstraction feels like a layer of "magic" that prevents the user from understanding what is going on.