View on GitHub

HomeSetup

HomeSetup simplifies terminal customization by offering seamless cloud integration for dotfiles, packages, and configurations, enhancing productivity and command line experiences without complex frameworks.

Download this project as a .zip file Download this project as a tar.gz file

HomeSetup Developer Handbook

Developer-Tools

Table of contents

Git functions

__hhs_git_branch_previous

usage: __hhs_git_branch_previous
Purpose

Checkout the previous branch in history (skips branch-to-same-branch changes ).

Returns

0 if the command executed successfully; non-zero otherwise.

Parameters
Examples

__hhs_git_branch_previous

Output

Switched to branch 'prev-branch'

__hhs_git_branch_select

usage: __hhs_git_branch_select [options]

    Options:
      -l | --local : List only local branches. Do not fetch remote branches.
Purpose

Select and checkout a local or remote branch.

Returns

0 if the command executed successfully; non-zero otherwise.

Parameters
Examples

__hhs_git_branch_select

Output

Select a local or remote branch to checkout

  1    master
  2     v1-7-1
  3     remotes/origin/develop
  4     remotes/origin/master
  5     remotes/origin/v1-7-1

[Enter] Select  [↑↓] Navigate  [Esc] Quit  [1..5] Goto:

__hhs_git_branch_all

usage: __hhs_git_branch_all [base_search_path]
Purpose

Get the current branch name of all repositories from the base search path.

Returns

0 if the command executed successfully; non-zero otherwise.

Parameters
Examples

__hhs_git_branch_all .

Output

Choose the projects to pull from. Available Repositories (2):

  1      ~/.nvm/.git
  2       ~/HomeSetup/.git

[Enter] Accept  [↑↓] Navigate  [Space] Mark  [I] Invert  [Esc] Quit  [1..2] Goto:

__hhs_git_status_all

usage: __hhs_git_status_all [base_search_path]
Purpose

Get the status of current branch of all repositories from the base search path.

Returns

0 if the command executed successfully; non-zero otherwise.

Parameters
Examples

__hhs_git_status_all .

Output

Fetching status of .nvm ...

On branch main

No commits yet

nothing added to commit but untracked files present (use "git add" to track)

Fetching status of HomeSetup ...

On branch master
Your branch is up to date with 'origin/master'.

no changes added to commit (use "git add" and/or "git commit -a")

__hhs_git_show_file_diff

usage: __hhs_git_show_file_diff <first_commit_id> <second_commit_id> <filename>
Purpose

Display a file diff comparing the version between the first and second commit IDs.

Returns

0 if the command executed successfully; non-zero otherwise.

Parameters
Examples

__hhs_git_show_file_diff HEAD~135 HEAD .VERSION

Output

diff --git a/.VERSION b/.VERSION
old mode 100755
new mode 100644
index 84af258..8106157
--- a/.VERSION
+++ b/.VERSION
@@ -1 +1 @@
-1.6.18
\ No newline at end of file
+1.6.19
\ No newline at end of file

__hhs_git_show_file_contents

usage: __hhs_git_show_file_contents <commit_id> <filename>
Purpose

__hhs_git_show_file_contents

Returns

0 if the command executed successfully; non-zero otherwise.

Parameters
Examples

__hhs_git_show_file_contents HEAD~135 .VERSION

Output

1.6.18

__hhs_git_show_changes

usage: __hhs_git_show_changes <commit_id>
Purpose

List all changed files from a commit ID.

Returns

0 if the command executed successfully; non-zero otherwise.

Parameters
Examples

__hhs_git_show_changes HEAD~135

Output

bin/apps/bash/hhs-app/plugins/hspm/hspm.bash
dotfiles/bash/bash_aliases.bash

__hhs_git_pull_all

usage: __hhs_git_pull_all [base_search_path] [repository]

    Arguments:
      repos_search_path   : The base path to search for git repositories. Default is current directory.
      repository          : The remote repository to pull from. Default is \"origin\".
Purpose

Search and pull projects from the specified path using the given repository/branch.

Returns

0 if the command executed successfully; non-zero otherwise.

Parameters
Examples

__hhs_git_pull_all . origin

Choose the projects to pull from. Available Repositories (2):

  1      ./.nvm/.git
  2       ./HomeSetup/.git

[Enter] Accept  [↑↓] Navigate  [Space] Mark  [I] Invert  [Esc] Quit  [1..2] Goto: