c# - C# 中的 SVN 框架

标签 c# svn

我目前正在开发一款基于小型终端的游戏,例如用 C# 编写的老式 MUD 游戏。 由于我将其托管在 Googlecode 上,因此如果项目存在,我使用外部 .sh 脚本执行 svn up 操作,如果项目不存在,则使用 svn checkout 操作。 我的目标是将 SVN 直接包含到我的可执行文件中,使其完全独立于平台(请参阅 mono)。 我已经在 google 上搜索了诸如“C# SVN”之类的通用内容,它总是将我重定向到“SharpSVN”。可惜里面没有源代码,只有一些 .dll。

现在我想做的(并询问是否可能):

  • 启动应用程序
  • 检查是否有新版本可用
  • 执行svn up
  • 编译
  • 如果修订版号与上次的版本号不相等(即构建了较新的修订版),则启动新的可执行文件

我非常怀疑退出后是否可以启动该应用程序,但肯定比我了解更多;)

编辑://
这是我之前运行/当前正在运行的 .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是完全开源的,这里repository或者你寻找一些例子?

但是据我所知 SharpSVN 不是跨平台库(也许情况已经改变了)。所以你可以浏览SharpSVN的源代码并检查它是否适合你的需求或者尝试依赖Subversion API直接由您自己。

关于c# - C# 中的 SVN 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4128373/

相关文章:

c# - 为 Windows 应用商店中的 Combobox SelectedItem 实现双向绑定(bind)

C# EF 5.0 向 MySQL 数据库添加百万条记录需要数小时

svn - 同一个 svn 存储库的不同 git-svn 克隆是否期望能够共享更改然后 git svn dcommit?

svn - 如何迁移到新的 SVN 存储库(从现有的存储库)?

sql-server - SQL Server 上的颠覆

c# - 是否可以从 C++ 应用程序调用 C# 应用程序?

c# - 无法从其他 STA 线程调用从 STAThread 创建的 COM 对象

svn - TortoiseSVN:什么是头部修订

svn - 在 svn 中标记部分树与完整树干

c# - 创建或寻找 fuslogvw.exe 的替代品,又名 Fusion Assembly Binding Log Viewer