Skip to content

Tmux git autofetch: Automatically fetches current opened git repositories on your tmux session

License

Notifications You must be signed in to change notification settings

thepante/tmux-git-autofetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Your Git workflow with automated repository fetching

This plugin automates the process of fetching updates from remote git repositories, making your coding life a little bit smoother.

Useful when you deal with git repositories that get frequent updates. Instead of the tedious 'git fetch' routine, this handle it for you in the background.

demo (play the gif and look top-right just along with master: it fetches and the status got updated)

Installation

Using tpm: on your .tmux.conf add this line:

set -g @plugin 'thepante/tmux-git-autofetch'

Afterward, install it by pressing <prefix> + I.

This installation adds a cron job and a zsh hook to automate the fetching process.

Usage

Once installed, your open repositories will be automatically fetched in the background every 3 minutes.


Options

You can add the following options on your tmux config file:

@git-autofetch-skip-paths

Defines regex pattern to skip specific paths to autofetch.
Default: (empty)

set -g @git-autofetch-skip-paths ".*"

@git-autofetch-scan-paths

Defines regex pattern for paths to enable autofetching. Higher priority than skip-paths pattern.
Default: (empty)

set -g @git-autofetch-scan-paths "~/Projects/.*|.*\/probandoski"

@git-autofetch-frequency

Set the fetching interval in minutes.
Default: 3

set -g @git-autofetch-frequency "1"

@git-autofetch-logging

Enables or disables debug logging.
Default: false

set -g @git-autofetch-logging "true"

With the examples provided: it will write the logging file, scan every minute, and also would autofetch only those repositories inside ~/Projects and the anywhere/probandoski one.

Notes

  • This plugin only fetches updates; it does not perform git pulls nor display info about it.
    You can display the status using any method you prefer. For instance, you can integrate it with gitmux for your tmux status bar.
  • For private repositories: ensure that your SSH credentials are correctly configured to avoid fetching rejections.

Motivation

I work with multiples repositories that are frequently updated. I sticked with vscode mainly for its auto-fetch feature. I haven't come across a comparable solution for the terminal, so I made this plugin for tmux to ensure that I can work without concerns about overlooking any changes in the repositories.

Feel free to leave feedback or any other type of contribution.

About

Tmux git autofetch: Automatically fetches current opened git repositories on your tmux session

Topics

Resources

License

Stars

Watchers

Forks

Languages