У меня есть рабочий bash-скрипт после фиксации, который синхронизирует экземпляр Trac с последней версией для фиксации SVN.
#!/bin/sh
TRAC="/var/trac/"
REPOS="$1"
REV="$2"
if [[ "$REPOS" = "*TechReader*"]]; then trac-admin $TRAC"techreader" changeset added $REPOS $REV; fi
if [[ "$REPOS" = "*InteractEnglish*"]]; then trac-admin $TRAC"interactenglish" changeset added $REPOS $REV; fi
trac-admin $TRAC"egloo" changeset added $REPOS $REV
Финал trac-admin
call запускает и обновляет внутренний экземпляр Trac по желанию, но операторы if, похоже, не запускают обновления для наших клиентских экземпляров Trac.
Команды для синхронизации одинаковы, что-то не так с условиями?
Немного повозившись, я смог заставить это работать правильно. Обратите внимание, я заменил ваш trac-admin
звонки с простыми echo
s для тестирования.
#!/bin/bash
TRAC="/var/trac/"
REPOS="$1"
REV="$2"
if [[ "$REPOS" == *TechReader* ]]; then echo "first IF" $REPOS $REV; fi
if [[ "$REPOS" == *InteractEnglish* ]]; then echo "second IF" $REPOS $REV; fi
echo "done";
Внесенные мной изменения