git-repository

A git cli wrapper querying and cloning remote repositories with minimal data transfer
1.4.0 Latest release released

Git Client for inspecting remote git repositories

CI

The aim of this shard is to inspect any remote git repository

  • fetch repository details remotely (default branch, branches and tags)
  • obtain log history without downloading any files
  • fetch any branch, tag or commit without downloading history. Minimal data transfer

Installation

Add the dependency to your shard.yml:

  dependencies:
    git-repository:
      github: place-labs/git-repository

Usage

NOTE:: We shell out to git to perform these operations


repo = GitRepository.new("https://github.com/your/repo", "optional_user", "optional_pass")

repo.default_branch # => "main"
repo.branches       # => {"feature1" => "<head_hash>", "main" => "<head_hash>"}
repo.tags           # => {"v1.1.0" => "<commit_hash>", "v1.0.0" => "<commit_hash>"}
repo.commits("main", depth: 5) # => [Commit]

# Fetch the head of the selected branch
repo.fetch_branch("main", "./your_repo_folder")

# Fetch the repo at a specific commit or tag
repo.fetch_commit("v1.1.0", "./your_repo_folder")

git-repository:
  github: place-labs/git-repository
  version: ~> 1.4.0
Crystal none

Dependencies 1

  • connect-proxy ~> 2.0
    {'github' => 'spider-gazelle/connect-proxy', 'version' => '~> 2.0'}

Development Dependencies 1

  • ameba
    {'github' => 'veelenga/ameba'}

Dependents 0

Last synced .
search fire star recently