From: Nicolas Boisselier Date: Tue, 11 Apr 2023 00:45:44 +0000 (+0200) Subject: TODO git_commit_push_merge_file_user X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=160b2e134869bb2f4e21f4ddccda1c8e73f28b95;p=nb.git TODO git_commit_push_merge_file_user --- diff --git a/etc/profile.d/git.sh b/etc/profile.d/git.sh index c26198f8..588f81b1 100644 --- a/etc/profile.d/git.sh +++ b/etc/profile.d/git.sh @@ -8,6 +8,37 @@ alias git_grep="git grep --color=auto" alias git_ls_tree="git ls-tree --full-tree -r HEAD" alias git_ls_files="git ls-files --full-name" +git_commit_push_merge_file_user() { + declare file="${1:?Args 1: file is missing}" + shift + declare comment="${@:?Args 2: comment is missing}" + + if [ ! -f "$file" -o ! -r "$file" ]; then + echo "Can not find or read file '$file' !" 1>&2 + return 1 + fi + + declare owner=$(ls -dl "$file" | awk '{print $3}') + [ -n "$owner" ] || return + + declare cmd="" + if [ "$owner" != "$(id --user --name)" ]; then + true + fi + + declare branch="$( cd "$(dirname "$file")" && git branch | awk '/^\*/{print $2}')" + cat<