我们目前已将SVN设置为源控制存储库,以跟踪我们对CMS所做的更改,并且每个人都从中央存储库中检出本地副本。除此之外,每个人都使用相同的MySQL数据库后端进行CMS。我们使用的CMS是CMS Made Simple。 上传到CMS时会出现问题。如果要上载一个开发人员说图像文件,则在CMS数据库中输入文件位置的条目。但是,此文件实际上只存在于一个开发人员的CMS本地副本中,因为他尚未检查该文件。这会导致其他开发人员的副本出现问题,直到签入此上载的图像为止。 有没有人知道如何解决这个问题?
谢谢, 戴恩。
答案 0 :(得分:1)
作为您问题的直接答案,您可以设置Microsoft免费SyncToy之类的解决方案,以使开发人员的内容文件夹保持同步。当然,这不会检查存储库中的文件。为此,我认为除了将文件添加到存储库中时,没有办法。
也许其中一个有帮助:
正如我的观点:文件上传到源代码管理范围内的CMS?这对我来说听起来有点不对劲。我个人更喜欢在Web主机上的某个位置运行应用程序的一个中央副本,一旦人们从他们的工作副本检查他们的更改(仅用于测试目的),就会从存储库更新。否则,你会疯狂地合并数十个已更改的数据库,不是吗?对我来说,在CMS中,代码和内容必须严格分开。 subversion repo应该只包含代码。但是,这只是一种观点。我确信有合格的意见另有说法。
答案 1 :(得分:0)
作为Pekka的后续行动,我每天都会这样做:
它不喜欢带空格的文件名,但也许这可能是一个起点。
#!/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