Move custom git credential helper from .bashrc to .gitconfig.
This commit is contained in:
		
							
								
								
									
										48
									
								
								.bashrc
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								.bashrc
									
									
									
									
									
								
							@ -80,54 +80,6 @@ function bwai () {
 | 
			
		||||
        bw encode | bw create item && bw sync
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# custom git credential cache implementation for bitwarden
 | 
			
		||||
# https://github.com/bitwarden/cli/blob/master/examples/git-credential-bw.sh
 | 
			
		||||
function bw_gitea () {
 | 
			
		||||
   declare -A params
 | 
			
		||||
 | 
			
		||||
   if [[ "$1" == "get" ]]; then
 | 
			
		||||
       read -r line
 | 
			
		||||
       while [ -n "$line" ]; do
 | 
			
		||||
           key=${line%%=*}
 | 
			
		||||
           value=${line#*=}
 | 
			
		||||
           params[$key]=$value
 | 
			
		||||
           read -r line
 | 
			
		||||
       done
 | 
			
		||||
 | 
			
		||||
       if [[ "${params['protocol']}" != "https" ]]; then
 | 
			
		||||
           exit
 | 
			
		||||
       fi
 | 
			
		||||
 | 
			
		||||
       if [[ -z "${params["host"]}" ]]; then
 | 
			
		||||
           exit
 | 
			
		||||
       fi
 | 
			
		||||
 | 
			
		||||
       if ! bw list items --search "asdf" > /dev/null 2>&1; then
 | 
			
		||||
           echo "Please login to Bitwarden to use git credential helper" > /dev/stderr
 | 
			
		||||
           exit
 | 
			
		||||
       fi
 | 
			
		||||
 | 
			
		||||
       id=$(bw list items --search "${params["host"]}"|jq ".[] | select(.name == \"${params["host"]}\").id" -r)
 | 
			
		||||
 | 
			
		||||
       if [[ -z "$id" ]]; then
 | 
			
		||||
           echo "Couldn't find item id in Bitwarden DB." > /dev/stderr
 | 
			
		||||
           echo "${params}"
 | 
			
		||||
           exit
 | 
			
		||||
       fi
 | 
			
		||||
 | 
			
		||||
       user=$(bw get username "${id}")
 | 
			
		||||
       pass=$(bw get password "${id}")
 | 
			
		||||
 | 
			
		||||
       if [[ -z "$user" ]] || [[ -z "$pass" ]]; then
 | 
			
		||||
           echo "Couldn't find host in Bitwarden DB." > /dev/stderr
 | 
			
		||||
           exit
 | 
			
		||||
       fi
 | 
			
		||||
 | 
			
		||||
       echo username="$user"
 | 
			
		||||
       echo password="$pass"
 | 
			
		||||
   fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# enable programmable completion features (you don't need to enable
 | 
			
		||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
 | 
			
		||||
# sources /etc/bash.bashrc).
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
[user]
 | 
			
		||||
	email = mail@jamesblair.net
 | 
			
		||||
	name = James Blair
 | 
			
		||||
	signingkey = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC2t1GmNmhoV2WvrA5dKS9nhLlBExD949coqQnYnqvgQ7l+ODRXxifg8wcnp7PXTcs6CW3tlwA6W5LWMK5gtjNXfZH9jpMPD2m1p7koysoYmC2eMWREF+IN4dS1MsaL9VU1WrqolP3qbvI2WWmECrzA0xakDhAZXuIzl3HRng1YeQV8gi8YoG9Jm0ZXd+RMqxBGyUw1+O4o1NfFwQ9dIUNFRyUScl/yzQv0AfXqOi2IrdA5IpdtlpAZsD1cnB3kUFlluxaqCuXQKGO1wPo3wTh2Po+upCyMi2XXCakVXgRaIuBLvmZPYVMYlwbbDL0dMexhc+pccgJ3sE0JDzm1+oe2uY9pIIsnfrD6fzjN+JO0rbGtrWpERf0amIzJFj4i7zvPk4eY7OskYSInf7Qj5He8eLv0VBBxQc2ikDTPQtS/cIomLXA1tAsA1dqHNl438AHG4r4NaPNDAoRUql3BOYEZjyza5eV8b26Yw3s/x64g4oc0Zhoc6/UB7zmbou0a1w+oC1qXloJIYnYb6ntiaZKt5HLuUUP7V0WIMRco35Rt1NtaKKwqmo7z40VwvYPWTtaNwm3GFmMi9E603TudzuJB+katlfROXFOI/8Ks5S1juFAMcI+KVo0Ndl0G9iYRbZyrHB+HdxS1HVaWn4CTy9WCvQBHWB/cr1dnjVviqAZ0iw== james@james-ultrabook
 | 
			
		||||
	signingkey = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCsYhu2xE5cxq+sA7bNyHjZUk9IHKXHsd58ZCFLfCHbK5nnWLgJwxFnF1NzBylyOJviJ2v54VYQoXvsWLTbehlyH/kqJS8icmo0iu2mUFcp09n/3NcGw2BJefwMbK+mofxBBR78RRNI8DG3yk7Apa19BrLpFWaL/VljGidgR61WhPH7FbXjTh5NuQR494LG3yBRn16yIPNN+xZhf0TW7uoVCiSr77kFELgrTqjpPyoYiYLZZdKqJZ7PDgOEcLq5oDEZfYME8sGRPyufGByH7tnK9fgFaZ9wW747wTNN2naUIhCNzJLxKgr8fMMRBXuqeUjk+5/EzxGFXjxE+4a+dhD51OO5mSN1ctG/061HIQjJwZ2Zk6CACypBEv6nLVREaMqKQtcEPPooZ2SK4SdiMtwC8XLCZ6wRQDVskMentI1uy3bbCwV9AG0auiLA3sfbyKI8093p5NLsLEiR+BScu4/tLx7kzPetl89QOKzTI60GXzBaSnBXhAtQTijZZFrOGbQ1NQ1deWb6pT8foOPOs3P2F0a4Y/nY/xlomBuNqTI48Vi8MZJjhTvAe8BF+Y7C8HlSaCZeH1DrnymkbLhpXvVH7Tuir/DLOyhrwnXqNuxpMyWsfy5UrTfe67GP2+jzriFxteTMbvZjmgbF2UDMYs5U59NaYPdAYxjwdzH5nHoIWw== james@james-desktop
 | 
			
		||||
 | 
			
		||||
[pull]
 | 
			
		||||
	rebase = true
 | 
			
		||||
@ -18,6 +18,10 @@
 | 
			
		||||
[credential]
 | 
			
		||||
	helper = cache --timeout=21600
 | 
			
		||||
 | 
			
		||||
[credential "https://gitea.jamma.life"]
 | 
			
		||||
	username = "!f() { test \"$1\" = get && echo \"password=$(NODE_OPTIONS=\"--no-deprecation\" bw get username gitea)\"; }; f"
 | 
			
		||||
	helper = "!f() { test \"$1\" = get && echo \"password=$(NODE_OPTIONS=\"--no-deprecation\" bw get item gitea | jq '.fields[0].value' -r)\"; }; f"
 | 
			
		||||
 | 
			
		||||
[commit]
 | 
			
		||||
	gpgsign = true
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user