Marco SVN en C #

Actualmente estoy trabajando en un juego basado en una pequeña terminal como los buenos antiguos MUD, escritos en C #. Como lo estoy hospedando en Googlecode, utilicé un .sh-Script externo para hacer svn up si el proyecto existe y svn checkout si no lo hace. Mi objective es include SVN directamente en mi ejecutable para que sea completamente independiente de la plataforma (ver mono). Ya busqué en Google cosas genéricas como "C # SVN" y siempre me remitió a "SharpSVN". Lástima que no haya fuente dentro, solo algunos .dll.

Ahora lo que quería hacer (y preguntar si es posible de todos modos):

  • Comience la aplicación
  • Verifique si hay una revisión más nueva disponible
  • Hacer svn up
  • Comstackr
  • Inicie el nuevo file ejecutable si los numbers de revisión no son iguales a lo que fueron la última vez (también se generó una versión más reciente)

Tengo muchas dudas si es posible iniciar la aplicación después de dejar de fumar, pero seguro que sabes más que yo;)

EDITAR://
Aquí está el guión .sh que estaba ejecutando antes / actualmente estoy ejecutando:

 #!/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 

Su paso a paso no funcionará sin una aplicación de ayuda. Sugeriría realizar el control, luego generar la aplicación de ayuda, cerrar esta. La aplicación auxiliar luego realiza la descarga / compilation / relach. Creo que UAC tendría un día de campo con eso. Asegúrese de considerar esto desde el principio.

SharpSVN es completamente de código abierto, aquí repository o buscas algunos ejemplos?

Pero AFAIK SharpSVN no es una biblioteca multiplataforma (tal vez la situación ya se modificó). Para que pueda navegar por el código fuente de SharpSVN y comprobar si es adecuado para sus necesidades o tratar de confiar en la API de Subversion directamente por su count.

Este es el tipo de trabajo para el cual se inventó ClickOnce . No tengo idea si funciona en mono.