使用C#代码追加和提交文件到SVN服务器

windows系统下使用svn的命令需要安装一个插件,下载地址:http://sourceforge.net/projects/win32svn/?source=typ_redirect

安装后程序会自动把安装目录下的bin文件夹设置到系统的环境变量中,为了svn的commit命令可用,我们需要手动配置一下

SVR_EDITER这个环境变量,变量的值是notepad。然后重启电脑(我在安装后就是重启电脑后才生效的)。

c#的具体代码如下:

 private void UseCommandUploadFileToSVN()
        {
            string strTempPath = Path.GetFullPath("../YourFolder");
            // 路径不存在直接返回
            if (!Directory.Exists(strTempPath))
            {
                return;
            }

            // 把文件设置为添加状态
            Process p = new Process();//实例化进程对象
            p.StartInfo.FileName = "svn";
            p.StartInfo.Arguments = " add " + strTempPath + " --force";
            p.Start();
            p.WaitForExit();

            // add命令执行结束后执行commit命令
            if (p.HasExited)
            {
                // 把文件提交到SVN服务器
                Process pr = new Process();//实例化进程对象
                pr.StartInfo.FileName = "svn";
                pr.StartInfo.Arguments = " ci -m ‘‘ " + strTempPath;
                pr.Start();
                pr.WaitForExit();
            }
        }

  

时间: 2024-11-14 10:24:19

使用C#代码追加和提交文件到SVN服务器的相关文章

上传的文件放在SVN服务器的哪个目录下

上传的文件放在SVN服务器的哪个目录下 SVN服务器版本库有两种格式, 一种为FSFS, 一种为BDB 把文件上传到SVN版本库后,上传的文件不再以文件原来的格式存储,而是被svn以它自定义的格式压缩成版本库数据,存放在版本库中. 如果是FSFS格式,这些数据存放在版本库的db目录中,里面的revs和revprops分别存放着每次提交的差异数据和日志等信息

xcode 把项目代码提交到远程SVN服务器

环境 xcode 7  Mac air xcode默认支持GIT源码管理工具,但现在想把代码提交到已有到SVN服务器上,步骤如下: 1,在safari中打开svn链接地址,信任证书,输入用户名密码 ,登陆成功,可以在浏览器中查看svn目录 2,如果你的svn是空文件夹,即还没有项目上传,在xcode->source control 中 选中 check out .. 弹出框下面 entern a repostitory location:  输入svn地址,next 弹出一个新的对话框 是保存对

Linux/Mac OS 下 批量提交 新增文件到SVN 服务器

命令行下操作svn没有使用界面形式的TortoiseSVN直观,但是不管怎样,命令行下操作svn还是有它的有点,如果你碰到一次需要svn add许多个文件怎么办?下面的命令可以帮助你解决这个问题 一次性增加所有新增的文件到svn库: svn st | awk '{if ($1 == "?") {print $2} }' | xargs svn add 一次性从svn库删除所有需要删除的文件 svn st | awk '{if ($1 == "!") {print $

CentOS 6 用SVN自动提交文件到web服务器

关于 svn 的安装 参考:[转]Linux(centOS6.5)下SVN的安装.配置及开机启动 经过两天的各种尝试总算解决了,总结如下: 1.在建立库时注意 要让库的名称和  要同步的 web目录名称相同(避免麻烦) 2.在web 目录的上层目录首先  运行命令: svn co(checkout) svn://127.0.0.1/website   checkout 出文库 (我的svn和web在同一服务器) 3.进入 库目录  配置好 conf下的用户名和密码 4.进入 hook目录 vim

取消文件与svn服务器的关联

在使用svn项目管理工具的时候,经常遇到这样的情况: 我从svn下载下来了一个版本,后面不在需要和svn进行同步版本管理,但是文件夹的上面总是有一个勾,显示同步状态,强迫症真的受不了. 效果见小图: 真的很想拿掉它. 下面就来说一下,如何快速的去掉这些让人很不爽的标记,这里主要讲解两种方式 删除.svn用于版本控制的文件 打开ssh-crm,可以看到里面有一个.svn的文件夹,它就是用于版本控制的,删除了它也就不能进行版本控制了. 如果碰巧你的文件夹里面没有看到.svn文件夹,那一般是因为你没有

idea使用Git提交代码时忽略指定文件或文件夹

简述 使用idea编写代码并使用git作为版本控制器的时候,常常不需要提交配置文件以及一些其他不需要提交的文件,可以使用.ignore插件来在上传的时候忽略一些文件或文件夹. 安装 注意:安装完成之后要重启(restart)IDEA,插件才会生效. 配置   生成文件内容解释: 内容就是“禁止”提交更新的文件夹名称或文件类型.每个文件夹占一行. 补充: 禁止提交的文件夹在服务器(也就是GitHub)上面不能存在,如果存在的话你要先删除才可以.  禁止提交更新的文件或文件夹在项目目录中是灰色的.

Linux下svn提交文件后自动同步更新到网站目录

有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkout代码,例如我的目录是/data/www/test svn co https://127.0.0.1/test/trunk//data/www/test/ 注意,这是因为有时我会在服务器上直接修改代码,所以用checkout,如果不需要,可以用export,此指令不带.svn版本文件. 迁出代码后,

eclipse egit 更新未提交文件的方法

问题 以前一直在项目中使用SVN..感觉真的很好用,不管是切分支,合并分支,编辑冲突,还是更新代码什么的都感觉很方便...现在新公司项目里使用git...我自己虽然用过,但是多人合作一直没用过.所以遇到了一个很蛋疼的问题百度一直没有答案,今天偶然发现了一个解决办法. 项目里肯定有很多配置文件,经常会有一些同学不小心上传自己的配置,我本地也修改过这个配置并且不打算提交,但是别人提交的新的版本里有这个文件,然后整个版本我都不能pull下来,因为会提示你当前的修改会被覆盖. 解决办法 比如我有这么一个

js实现无刷新表单提交文件,将ajax请求转换为form请求方法

最近在做项目的时候遇到一个需要上传文件的需求,因为ajax请求是无法上传二进制文件流的,所以只能用form表单提交,而form提交有一个问题就是会使页面刷新,本文解决了form表单提交文件时页面刷新的问题. 一.无刷新实现form提交文件 将form的target指向为一个iframe就可以实现无刷新提交文件了,但关键是还需要看到后台返回的数据,所以还需要为该iframe注册一个回调函数,因为iframe和该页面在同域内,所以可以在iframe里可以调用该回调函数,就可以看到后台返回的数据了.实