2015年1月6日 星期二

Redmine - Fixed for Large SVN Repository



How to:
    Turn off "Autofetch commits" in Settings and add a cron the runs fetch commit periodically as follow.
  rake -f /opt/bitnami/apps/redmine/htdocs/Rakefile RAILS_ENV=production redmine:fetch_changesets




Steps under bitnami redmine:

  1. Go to Administrator->Settings->Repositories page, unchecked "Fetch commits automatically" item
  2. Run "crontab -e" in the linux console, then add following
    1. */5 * * * * syncRepo.sh
  3. Create a shell script syncRepo.sh with the following content
#!/bin/bash

PATH="/opt/bitnami/perl/bin:/opt/bitnami/git/bin:/opt/bitnami/sqlite/bin:/opt/bitnami/ruby/bin:/opt/bitnami/subversion/bin:/opt/bitnami/php/bin:/opt/bitnami/mysql/bin:/opt/bitnami/apache2/bin:/opt/bitnami/common/bin:$PATH"

NOW_DATE=$(date +"%m%d%Y")
NOW_TIME=$(date +"%H%M")
LOGDIR=/home/bitnami/logs
LOGFILE="syncRepo.$NOW_DATE.log"

NAME=`basename $0`
RUNNING_PROC_ID=$(pgrep -f "bash.*$(basename $0)")

if [ "$RUNNING_PROC_ID" != "$$" ]; then
        echo "$NOW_DATE-$NOW_TIME :: $NAME($$) still works! Exit Now!!!" >> $LOGDIR/$LOGFILE
        echo "Running Proc ID:" >> $LOGDIR/$LOGFILE
        echo "$RUNNING_PROC_ID" >> $LOGDIR/$LOGFILE
        exit
fi

echo "$NOW_DATE-$NOW_TIME :: $NAME sync start at $(date)" >> $LOGDIR/$LOGFILE
mkdir -p $LOGDIR
cd /opt/bitnami/apps/redmine/htdocs/
nice -n 19 rake -f /opt/bitnami/apps/redmine/htdocs/Rakefile RAILS_ENV=production redmine:fetch_changesets >> $LOGDIR/$LOGFILE 2>&1
echo "$NOW_DATE-$NOW_TIME :: $NAME sync end at $(date)" >> $LOGDIR/$LOGFILE






Reference : http://www.redmine.org/boards/2/topics/44076
Reference : http://www.redmine.org/projects/redmine/wiki/FAQ#I-cant-browse-my-svn-repository-through-redmine




沒有留言:

張貼留言