Skip to content

refs: add list subcommand #1

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

refs: add list subcommand #1

wants to merge 1 commit into from

Conversation

inosmeet
Copy link
Owner

@inosmeet inosmeet commented Mar 27, 2025

consolidate git show-ref command as git refs list along with some of the flags. Namely:
- --branches | --heads(deprecated)
- --head
- --tags

So, now new subcommands can replace old ones like:

  • git show-ref [--head] -> git refs list [--head]
  • git show-ref [--branches | --heads] -> git refs list [-branches | --heads]
  • git show-ref [--tags] -> git refs list [--tags]

Also add tests for this subcommand along with their flags.

consolidate `git show-ref` command as `git refs list` along with some of
the flags. Namely:
        - --branches | --heads(deprecated)
        - --head
        - --tags

So, now new subcommands can replace old ones like:
- `git show-ref [--head]` -> `git refs list [--head]`
- `git show-ref [--branches | --heads]` -> `git refs list [-branches | --heads]`
- `git show-ref [--tags]` -> `git refs list [--tags]`

Also add tests for this subcommand along with their flags.

Signed-off-by: Meet Soni <[email protected]>
@inosmeet inosmeet force-pushed the preview-refs-list branch from 9cb45bf to 2473804 Compare March 27, 2025 09:36
inosmeet pushed a commit that referenced this pull request Jun 4, 2025
Signed-off-by: Junio C Hamano <[email protected]>
inosmeet pushed a commit that referenced this pull request Jun 4, 2025
The GitHub's CI workflow uses 'actions/checkout@v4' to checkout the
repository. This action defaults to using the GitHub REST API to obtain
the repository if the `git` executable isn't available.

The step to build Git in the GitHub workflow can be summarized as:

  ...
  - uses: actions/checkout@v4 #1
  - run: ci/install-dependencies.sh #2
  ...
  - run: sudo --preserve-env --set-home --user=builder ci/run-build-and-tests.sh #3
  ...

Step #1, clones the repository, since the `git` executable isn't present
at this step, it uses GitHub's REST API to obtain a tar of the
repository.

Step #2, installs all dependencies, which includes the `git` executable.

Step #3, sets up the build, which includes setting up meson in the meson
job. At this point the `git` executable is present.

This means while the `git` executable is present, the repository doesn't
contain the '.git' folder. To keep both the CI's (GitLab and GitHub)
behavior consistent and to ensure that the build is performed on a
real-world scenario, install `git` before the repository is checked out.
This ensures that 'actions/checkout@v4' will clone the repository
instead of using a tarball. We also update the package cache while
installing `git`, this is because some distros will fail to locate the
package without updating the cache.

Helped-by: Phillip Wood <[email protected]>
Signed-off-by: Karthik Nayak <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
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.

1 participant