Использование SVN с CMS - PullRequest
       6

Использование SVN с CMS

0 голосов
/ 31 августа 2010

В настоящее время SVN настроен в качестве репозитория управления исходным кодом для отслеживания изменений, которые мы вносим в CMS, и все проверяют локальные копии из центрального репозитория.Кроме того, все работают из одной базы данных MySQL для CMS.Используемая нами CMS - CMS Made Simple.Проблема возникает при загрузке в CMS.Если один разработчик должен загрузить, скажем, файл изображения, запись о местонахождении файла заносится в базу данных CMS.Однако этот файл фактически существует только в локальной копии CMS одного разработчика, так как он еще не зарегистрировал это. Это вызывает проблемы с копиями других разработчиков до тех пор, пока этот загруженный образ не будет зарегистрирован.эта проблема?

Спасибо, Дейн.

Ответы [ 2 ]

1 голос
/ 31 августа 2010

В качестве прямого ответа на ваш вопрос, вы можете создать решение, подобное бесплатному Microsoft SyncToy , чтобы синхронизировать папки содержимого разработчиков друг с другом.Конечно, это не проверяет файлы в хранилище. Для этого я думаю, что нет другого способа, кроме как добавить файлы в репозиторий по мере их появления.

Может быть одна из следующих подсказок:

Как мое мнение: Загрузка файла в CMS в рамках системы контроля версий?Это звучит немного неправильно для меня.Лично я предпочитаю иметь одну центральную копию приложения, работающую где-то на веб-хосте, которая обновляется из репозитория, как только люди регистрируют свои изменения из своей рабочей копии (которая предназначена только для тестирования).В противном случае вы сойдете с ума, объединив десятки измененных баз данных, не так ли?Для меня в CMS код и контент должны быть строго разделены.Репозиторий Subversion должен содержать только код.Но это только одна точка зрения.Я уверен, что есть квалифицированные мнения, говорящие иначе.

0 голосов
/ 31 августа 2010

В качестве продолжения Пекки я ежедневно запускаю:

Он не любит имена файлов с пробелами, но, возможно, это может быть отправной точкой.

#!/bin/bash

#This Script will open up "svnProjectFolders" and commit all the projects in that folder

IFS=$'\n'
for line in `cat /Users/memememe/Documents/svnCommit/svnProjectFolders.txt`;
do
        echo "Commiting:  "$line" "`eval date +%c`
        cd $line
        svn st | grep "^?" | grep -v "build" | awk -F "      " '{print $2}' | xargs svn add
        svn commit -m "Daily Commit: "`eval date +%Y%m%d`
        echo ""
done
...