Compare commits

...

11 Commits

Author SHA1 Message Date
ba4cf18cd2 Ignore credentials file if it exists 2024-04-19 14:49:06 +01:00
75b88f3a59 Add compile_commands.json to excludes file 2024-03-09 12:50:15 +00:00
8a3b86753a Sort git branch output by descending committer date 2024-01-30 13:54:00 +00:00
7fb360690d Add git-sync command to fetch from a list of repos 2023-04-20 13:37:57 +01:00
d5ae3dbfc8 Make (un)publish alias remote configurable
Add the `publish.remote` option to enable the remote to publish to
configurable rather than hard-coded in the alias.
2022-12-15 11:50:46 +00:00
753778c632 Set the default branch name for main 2022-09-09 22:52:13 +01:00
2d898122c3 Add XDG like dirs to excludes 2022-04-20 15:35:31 +01:00
c2e3d6065c Don't blindly set vim as editor
This is now deferred to `GIT_EDITOR` environment variable.
2022-02-26 17:24:20 +00:00
0514ccd0c3 Add recent alias to show 10 most recent branches 2022-01-12 18:04:50 +00:00
2615350bb8 Move main.yaml to tasks.yaml 2021-11-19 22:07:35 +00:00
e2218750fa Use https URL for git-issue pip package 2021-11-05 15:21:00 +00:00
6 changed files with 53 additions and 31 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
credentials

17
config
View File

@@ -21,12 +21,18 @@
local = !git branch -vv | \ local = !git branch -vv | \
cut -c 3- | \ cut -c 3- | \
awk '$3 !~/\\[/ { print $1 }' awk '$3 !~/\\[/ { print $1 }'
recent = !git reflog show --pretty=format:'%gs ~ %gd' --date=relative | \
grep 'checkout:' | \
grep -oE '[^ ]+ ~ .*' | \
awk -F~ '!seen[$1]++' | \
head -n 10 | \
awk -F ' ~ HEAD@{' '{printf(\" %s \\033[33m%s\\033[0m\\n\", $1, substr($2, 1, length($2)-1))}'
create = checkout -b create = checkout -b
delete = branch -D delete = branch -D
refname = rev-parse --abbrev-ref HEAD refname = rev-parse --abbrev-ref HEAD
publish = !git push -u origin `git refname` publish = !git push -u `git config --get publish.remote || echo origin` `git refname`
unpublish = !git push -u origin :`git refname` unpublish = !git push -u `git config --get publish.remote || echo origin` :`git refname`
force = push --force-with-lease force = push --force-with-lease
changes = !sh -c 'git log --oneline $1..' -- changes = !sh -c 'git log --oneline $1..' --
@@ -41,9 +47,14 @@
git reset --mixed HEAD~ || echo \"\\e[31merror:\\e[39m commit subject is not: temp!\"' git reset --mixed HEAD~ || echo \"\\e[31merror:\\e[39m commit subject is not: temp!\"'
[core] [core]
editor = vim
excludesfile = ~/.config/git/excludes excludesfile = ~/.config/git/excludes
[init]
defaultBranch = main
[branch]
sort = -committerdate
[fetch] [fetch]
prune = true prune = true

View File

@@ -1,5 +1,9 @@
.DS_Store .DS_Store
.cache
.config
.enter .enter
.exit .exit
.local .local
.share
.vim .vim
compile_commands.json

23
git-sync Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env zsh
autoload -U colors && colors
git_sync=${GIT_SYNC:-~/.config/git-sync}
if [ ! -f "$git_sync" ]; then
echo "$fg[yellow]warning:${reset_color} sync list does not exist: $git_sync"
exit 0
fi
local repos=($(cat $git_sync))
if [ ${#repos[@]} = 0 ]; then
echo "$fg[yellow]warning:${reset_color} sync list is empty: $git_sync"
exit 0
fi
for repo in $repos; do
print -P "$fg[cyan]synchronizing: $repo${reset_color}"
repo="${repo/#\~/$HOME}"
git -C "$repo" fetch
done

View File

@@ -1,28 +0,0 @@
---
- hosts: localhost
tasks:
- name: Clone git private config repository
git:
repo: git@code.infektor.net:benie/config.git
dest: ~/.config/private
version: master
- name: Install git homebrew packages
when: ansible_os_family == "Darwin"
homebrew:
name: gpg
state: latest
- name: Intall git pip packages
pip:
name: git+ssh://git@github.com/kbenzie/git-issue.git
extra_args: --user
state: latest
- name: Create git symbolic links
file:
state: link
src: '{{item.src}}'
dest: '{{item.dest}}'
with_items:
- src: ~/.config/git/config
dest: ~/.gitconfig
- src: ~/.config/git/_git-changes
dest: ~/.local/share/zsh/site-functions/_git-changes

11
tasks.yaml Normal file
View File

@@ -0,0 +1,11 @@
---
- name: git create symbolic links
file:
state: link
src: '{{item.src}}'
dest: '{{item.dest}}'
with_items:
- src: ~/.config/git/_git-changes
dest: ~/.local/share/zsh/site-functions/_git-changes
- src: ~/.config/git/git-sync
dest: ~/.local/bin/git-sync