Svn pre-commit hook and conflict markers

Előfordul néha, hogy a nagy lelkesedésben conflict makereket tartalmazó fájlt commitolnak a fejlesztők a repository-ba. Ez nem túl gyakori hiba, de azért tud kellemetlen lenni. Keresgettem egy kicsit, de nem találtam nekem tetsző script-et, ezért írtam egyet.

 

<br />
SVNLOOK=/usr/bin/svnlook<br />
for x in `$SVNLOOK changed &quot;$REPOS&quot; -t &quot;$TXN&quot;`; do<br />
 if [ &quot;$updated_file&quot; == true ]; then<br />
    mimetype=`$SVNLOOK propget &quot;$REPOS&quot; svn:mime-type -t &quot;$TXN&quot; &quot;${x}&quot; 2&gt;/dev/null`<br />
    #ignore binary files<br />
    if [ -z ${mimetype} ]; then<br />
      if $SVNLOOK cat -t &quot;$TXN&quot; &quot;$REPOS&quot; &quot;${x}&quot; | grep -qE '^+?(&lt;&lt;&lt;&lt;&lt;&lt;&lt;|&gt;&gt;&gt;&gt;&gt;&gt;&gt;)'; then<br />
        echo &quot;Commited conflict marker detected, commit rejected!&quot; 1&gt;&amp;2 &amp;&amp; exit 1<br />
      fi<br />
    fi<br />
    updated_file=false<br />
    continue<br />
 else<br />
    if [ &quot;$x&quot; = &quot;U&quot; ]; then<br />
      updated_file=true<br />
    fi<br />
 fi<br />
done<br />
set -e<br />

2 Replies to “Svn pre-commit hook and conflict markers”

  1. Typo: marker helyett maker, kétszer is, LinkedIn-en annyira nem mutat jól. Ill. kicsit furcsa, hogy a scriptben meg indicatornak van nevezve 🙂

    1. A post-ok inkább csak publikus memo-k, amik reményeim szerint segíthetnek, vagy pusztán inspirációként szolgálhatnak az olvasóknak. Ezért egyáltalán nem bánom, ha egy egy megnyilvánulás “nem mutat jól”, mivel nem is ez a cél. A visszajelzésekből rengeteget tanulok, és ezért már önmagában megéri befektetni az időt egy egy írásba. Az elírásokat javítottam, és ezúton is köszönöm a visszajelzést!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.