git file COMMIT_EDITMSG é set readonly após cada commit

1

Estou usando o git no Windows 7 (meu usuário está no grupo de administração local) com meu projeto dev, mas toda vez que eu faço alterações, o arquivo .git/COMMIT_EDITMSG também muda: Seu conteúdo é substituído pelo último commit msg (o que é bom) Sua propriedade foi alterada para readonly .

Devido a essa alteração de propriedade, o próximo commit que eu farei retornará um erro "Permission denied" ...

Como vi em outras postagens, tentei excluir os dois arquivos: - .git/COMMIT_EDITMSG - .git/COMMIT_EDITMSG.bak

Ou eu também tentei apenas desmarcar a propriedade readonly manualmente, mas o problema ainda está lá após o próximo commit bem-sucedido ...

O que devo fazer para reparar este problema?

Repare que eu coloquei um prepare-commit-msg hook que talvez seja o problema? Gancho de conteúdo abaixo:

#!/bin/bash

# Name this script "prepare-commit-msg"
# This script will prefix every commit msg with the branch name in brackets,
# except if we are on non working branch like develop or master.
# The branch name pattern is : {category}/{issue-nb}_{work-description}

if [ -z "$BRANCHES_TO_SKIP" ]; then
  BRANCHES_TO_SKIP=(master develop)
fi

# Find current branch name
BRANCH_NAME=$(git symbolic-ref --short HEAD)
# Remove category before slash (included)
BRANCH_NAME="${BRANCH_NAME##*/}"
# Remove description after first underscore (included)
BRANCH_NAME="${BRANCH_NAME%_*}"


# Check if the branch is excluded
BRANCH_EXCLUDED=$(printf "%s\n" "${BRANCHES_TO_SKIP[@]}" | grep -c "^$BRANCH_NAME$")
BRANCH_IN_COMMIT=$(grep -c "\[$BRANCH_NAME\]" $1)

# Check if branch name is not null, if the current branch is not an excluded one, and if the branch name is already in the commit msg
if [ -n "$BRANCH_NAME" ] && ! [[ $BRANCH_EXCLUDED -eq 1 ]] && ! [[ $BRANCH_IN_COMMIT -ge 1 ]]; then 
  # Add brackets around branch name and Prefix passed msg with it
  sed -i.bak -e "1s/^/[$BRANCH_NAME] /" $1
fi
    
por ylerjen 09.02.2017 / 10:50

0 respostas