Report issues by shell files with:
    git ls-files '*.sh' | xargs shellcheck --exclude=SC2162
Address the following:
- SC1087: Use braces when expanding arrays
- SC1091: Not following
- SC2004: `$`/`${}` is unnecessary on arithmetic variables
- SC2024: `sudo` doesn't affect redirects
- SC2034: foo appears unused. Verify it or export it
- SC2086: Double quote to prevent globbing and word splitting
- SC2087: Quote `EOF`
- SC2115: Use `"${var:?}"` to ensure this never expands to `/*`
- SC2148: Add a shebang
Addresses (at least partially) some POSIX/dash issues:
- SC2113: `function` keyword is non-standard
- SC3010: In POSIX sh, `[[` `]]` is undefined
- SC3014: In POSIX sh, `==` in place of `=` is undefined
- SC3020: In POSIX sh, `&>` is undefined
- SC3046: In POSIX sh, `source` in place of `.` is undefined
Does not address:
- SC2162: `read` without `-r` will mangle backslashes
- Any other POSIX/dash-specific issues
Signed-off-by: Tim Crawford <tcrawford@system76.com>
		
	
		
			
				
	
	
		
			28 lines
		
	
	
		
			535 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			535 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
REMOTES=(
 | 
						|
    "coreboot upstream https://github.com/coreboot/coreboot.git"
 | 
						|
    "edk2 upstream https://github.com/tianocore/edk2.git"
 | 
						|
    "edk2 mrchromebox https://github.com/MrChromebox/edk2.git"
 | 
						|
)
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
git_remote() {
 | 
						|
    echo -e "\x1B[1m$1\x1B[0m"
 | 
						|
    pushd "$1" > /dev/null
 | 
						|
    if git remote | grep "^$2\$"
 | 
						|
    then
 | 
						|
        git remote set-url "$2" "$3"
 | 
						|
    else
 | 
						|
        git remote add "$2" "$3"
 | 
						|
    fi
 | 
						|
    git fetch "$2"
 | 
						|
    popd > /dev/null
 | 
						|
}
 | 
						|
 | 
						|
for remote in "${REMOTES[@]}"
 | 
						|
do
 | 
						|
    git_remote "$remote"
 | 
						|
done
 |