C# C语言中的SVN框架#
我目前正在开发一款基于终端的小游戏,比如用C#编写的《老泥巴》。 因为我在Googlecode上托管它,所以如果项目存在,我使用外部.sh脚本执行C# C语言中的SVN框架#,c#,svn,C#,Svn,我目前正在开发一款基于终端的小游戏,比如用C#编写的《老泥巴》。 因为我在Googlecode上托管它,所以如果项目存在,我使用外部.sh脚本执行svn up,如果项目不存在,则执行svn checkout。 我的目标是将SVN直接包含到可执行文件中,使其完全独立于平台(参见mono)。 我已经在谷歌上搜索过像“C#SVN”这样的通用词,它总是让我联想到“SharpSVN”。可惜里面没有源代码,只有一些.dll 现在我想做什么(并询问是否可能): 启动应用程序 检查是否有更新的版本可用 执行s
svn up
,如果项目不存在,则执行svn checkout
。
我的目标是将SVN直接包含到可执行文件中,使其完全独立于平台(参见mono)。
我已经在谷歌上搜索过像“C#SVN”这样的通用词,它总是让我联想到“SharpSVN”。可惜里面没有源代码,只有一些.dll
现在我想做什么(并询问是否可能):
- 启动应用程序
- 检查是否有更新的版本可用
- 执行
svn up
- 编撰
- 如果版本号不等于上次的版本号,则启动新的可执行文件(即生成了更新的版本)
以下是我在当前运行/am之前运行的.sh脚本:
#!/bin/bash
if [ $# -eq 0 ]; then
if [ ! -d "$HOME/csdungeon" ]; then
echo "Which version would you like to download? (G)erman / (E)nglish"
read getinput
case "$getinput" in
G|g) svn checkout http://c-sharp-dungeon.googlecode.com/svn/branches/translations/german/ $HOME/csdungeon
;;
E|e) svn checkout http://c-sharp-dungeon.googlecode.com/svn/trunk $HOME/csdungeon
;;
*) echo "No correct localisazion selected."
echo "Downloading english version now:"
svn checkout http://c-sharp-dungeon.googlecode.com/svn/trunk $HOME/csdungeon
;;
esac
else
cd $HOME/csdungeon
svn up
rm $HOME/csdungeon/c-sharp-dungeon.exe
fi
gmcs -out:$HOME/csdungeon/c-sharp-dungeon.exe $HOME/csdungeon/*.cs
mono $HOME/csdungeon/c-sharp-dungeon.exe
fi
if [ $# -ge 1 ]; then
if [ ! -d "$HOME/csdungeon" ]; then
echo "Which version would you like to download? (G)erman / (E)nglish"
read getinput
case "$getinput" in
G|g) svn checkout https://c-sharp-dungeon.googlecode.com/svn/branches/translations/german/ $HOME/csdungeon --username $1
;;
E|e) svn checkout https://c-sharp-dungeon.googlecode.com/svn/trunk $HOME/csdungeon --username $1
;;
*) echo "No correct localisazion selected."
echo "Downloading english version now:"
svn checkout https://c-sharp-dungeon.googlecode.com/svn/trunk $HOME/csdungeon --username $1
;;
esac
else
cd $HOME/csdungeon
svn up
rm $HOME/csdungeon/c-sharp-dungeon.exe
fi
gmcs -out:$HOME/csdungeon/c-sharp-dungeon.exe $HOME/csdungeon/*.cs
mono $HOME/csdungeon/c-sharp-dungeon.exe
fi
SharpSVN是完全开源的,这里还是你来看看一些例子
但AFAIK SharpSVN不是跨平台库(可能情况已经改变了)。因此,您可以浏览SharpSVN的源代码,检查它是否适合您的需要,或者尝试直接依靠您自己。如果没有帮助程序,您的一步一步都无法完成。我建议执行检查,然后生成助手应用程序,关闭此应用程序。然后,助手应用程序进行下载/编译/重新加载。我想UAC会很高兴的。确保你从一开始就考虑这个问题。 < P>这是一个被发明的工作。不过,我不知道它在mono上是否有效。然后我就找不到了。抱歉,我会看看它是否能达到预期的效果。这是通过一个外部脚本完成的。我会将它添加到我的问题中。不好意思,我的应用程序不应该对所有类型的操作系统都开放,即使是任天堂Wii(是的,我将要为Wii移植mono 2.8)@David Stocker-并且svn已经移植到任天堂Wii了吗?也许改用wget更简单,而不是svn?事实上,它不是wget已经在运行了,但是mono仍然有点阻塞,我会继续尝试