Skip to content

Instantly share code, notes, and snippets.

@niwo
Created March 25, 2011 11:23

Revisions

  1. niwo created this gist Mar 25, 2011.
    39 changes: 39 additions & 0 deletions svn_autocommit.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,39 @@
    #!/bin/bash

    ### Settings
    svn_wk='/srv/tftp/data/'
    svn_user='user'
    svn_passwd='passwd'

    ### Variables
    date=`date +"%F %T"`
    svn='/usr/bin/svn'


    #### Start automatic commit
    script_path=`dirname $(readlink -f $0)`
    log="${script_path}/commit.log"
    cd $svn_wk
    stat=`svn status`

    if [[ $stat != '' ]]; then
    # Do we have any files to delete?
    delete_files=`echo $stat|grep '^\!'|sed 's/\! / /g'`
    if [[ $delete_files != '' ]]; then
    for file in $delete_files; do
    svn delete $file >>$log
    done
    fi

    # Do we have any files to add?
    add_files=`echo $stat|grep '^\?'|sed 's/\? / /g'`
    if [[ $add_files != '' ]]; then
    for file in $add_files; do
    svn add $file >>$log
    done
    fi
    #Checkout first
    svn update #>/dev/null 2>>/dev/null
    # Finaly commit
    $svn commit -m "$date - Automatic Update/Commit" --username $svn_user --password $svn_passwd --non-interactive >>$log
    fi