svn学习

参考李龙生的博客,网址:http://blog.csdn.net/lilongsheng1125/article/details/8742200

一、svn更新到最新的项目

1 svn对于add操作,是把项目中原先不存在的添加进去。之后把原有的,但更新的文件,加上这些原先项目中没有的(add进去的),commit后,都进最新的项目。


二、SVN标准库结构为:trunk、tags、branches

1 trunk为主分支,任何时候都是最新的开发代码。

2 branches,有Release Branches、Bug fix branches、Experimental branches

快发布时建立Release Branches,bug fix branches用来处理将发布的bug版本,Experimental branches为实验版本

 

3 tags  ,是里程碑的,不管是不是release,都是一个可用的版本,这里只读。


具体使用:如从Branches To Trunk中,

在Trunk中,右键选择Merge-》选择“Merge a range of revisions”-》URL to merge from (file:///D:xxxx/UI)---Workding Copy(<<<UI)-->next即可完成。


4  SVN版本库,可以查看已经新建的仓库,在data文件夹->repositories里面有建立仓库的列表。


5  linux下实例(java调用linux终端执行svn更新命令)

war部署后,开始测试,因为war包为普通用户权限,如zhou用户的权限。

则需要切换到zhou用户:

su zhou

XX

之后checkout程序,用file形式,这样当提交时svn commit -m ''不需要输入用户名+密码

svn checkout file:///opt/tc/csvn/data/repositories/admin

如果不用file形式,则svn co http://ip:port/svn/admin  --username 用户名 --password  密码,这种形式,再次svn commit -m ''时需要输入用户名+密码

首先,在linux控制台,去进行svn commit -m ''操作,去尝试看看能否成功提交。可以后,调用程序进行提交。

特别注意:svn commit  -m 'zhou modify repoName' ,这种有空格的情况,可能会出现问题,必须是不带空格

                    svn commit  -m 'zhou-repoName'

程序如下:


import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Test {
    /*
     * 把字符串写入文件
     * 输入filePath为写入文件的路径,Str为需要写入的字符串,character为字符集
     *  输出为1表示写入成功,否则写入失败
     */
    public static int WriteStrByCharToFile(String filePath, String str,String character) {
        try{
            OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(filePath),"UTF-8");
            out.write(str.toCharArray());
            out.flush();
            out.close();
            return 1;
        }catch(Exception e){
            throw new RuntimeException(e);
        }
    }
    
    public static int copy(String oldFileContent,String newFile,String charset){
        try{
            int flag=WriteStrByCharToFile(newFile,oldFileContent,charset);
            return flag;
        }catch(Exception e){
            throw new RuntimeException(e);
        }    
    }
    /*
     * 提交SVN版本库到远程服务器
     * 输入cmdRun为运行的命令;des为目录文件夹
     * 返回字符串
     */
    public static boolean runCmd(String cmdRun,String des){
        boolean flag=false;
        
        try {
           // Process process = Runtime.getRuntime().exec(cmd);
            Process process = Runtime.getRuntime().exec(cmdRun,null,new File(des));
            InputStream stderr = process.getErrorStream();
            InputStreamReader isr = new InputStreamReader(stderr);
            BufferedReader br = new BufferedReader(isr);
            String line = null;
            while ( (line = br.readLine()) != null)
            System.out.println(line);
            int exitValue = process.waitFor();
            
            System.out.println("返回值:" + exitValue);
            if(exitValue==0){ //成功执行
                flag=true;
            }
            System.out.println("exitValue="+exitValue);
            
        } catch (Exception e) {
            flag=false;
            e.printStackTrace();
            //throw new RuntimeException(e);
            
        }
        System.out.println("flag="+flag);
        return flag;

    }
    
    
    public static boolean submit(String cmdRun,String des,String oldFilePathContent,String newFilePath,String charset){
        try{
            
            File file = new File(newFilePath);  //赋予文件权限
            if (file.createNewFile()){  
                System.out.println("File is created!");  
                //Runtime.getRuntime().exec("chmod 777 /home/test3.txt");   
                file.setExecutable(true);//设置可执行权限  
                file.setReadable(true);//设置可读权限  
                file.setWritable(true);//设置可写权限  
            }
            int flag=copy(oldFilePathContent, newFilePath,charset); //先复制到指定的文件
            System.out.println("copy   flag="+flag);
            if(flag==1){//复制成功
                return runCmd(cmdRun, des); //进行提交
            }else{
                return false;
            }
            
        }catch(Exception e){
            e.printStackTrace();
            return false;
        }
        
    }
    
    public static void main(String[] args) {

         String contentSubmit="内容";
         String username="zhou";
         String repoName="repoName";
         
         String svnInfo="svn  commit -m '"+username+"-"+repoName+"'";
      
         System.out.println(svnInfo);

         boolean flag= submit(svnInfo, "E:\\project\\admin", contentSubmit, "E:\\project\\admin\\trunk\\svn_access_file", "UTF-8");
           
          if(flag){
                System.out.println("submit成功! success");
          }else{
                System.out.println("submit失败! fail ");
          }
        

    }
    
}







  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
识别系统 手写数字识别系统是一种基于图像识别的应用,它可以识别人类手写的数字并将其转换为计算机可读的数字。这种系统在许多领域中都有广泛的应用,如自动化银行处理、邮政处理、医疗诊断、足球比分预测等。 机器学习是一种广泛应用于图像识别的技术。机器学习可以让计算机自动学习从输入数据中提取有用的特征,并根据这些特征进行分类。在手写数字识别系统中,机器学习可以让计算机自动学习如何识别不同的数字。 在基于svn的手写数字识别系统中,我们可以使用支持向量机(SVM)算法来训练我们的模型。SVM是一种常用的机器学习算法,它可以在高维空间中找到最佳的分类超平面。在手写数字识别系统中,我们将使用SVM算法来训练一个模型,该模型可以将手写数字图像分类为0到9之间的数字。 训练模型的过程包括以下步骤: 1. 收集数据集:我们需要收集足够的手写数字数据,以便训练我们的模型。这些数据可以来自不同的来源,如MNIST数据集、Kaggle竞赛等。 2. 数据预处理:我们需要对数据进行预处理,以便提取有用的特征。这包括对图像进行缩放、灰度化、二值化、去噪等预处理步骤。 3. 特征提取:我们需要从图像中提取有用的特征,以便训练我们的模型。常用的特征提取方法包括HOG特征、LBP特征、SIFT特征等。 4. 模型训练:我们需要使用训练数据集来训练我们的模型。训练过程包括将数据分成训练集和验证集、选择合适的模型参数、使用交叉验证等步骤。 5. 模型评估:我们需要使用测试数据集来评估我们的模型的性能。评估方法包括计算准确率、召回率、F1值等。 6. 模型优化:我们可以通过调整模型参数、使用不同的特征提取方法、增加训练数据等方法来优化我们的模型。 基于svn机器学习的手写数字识别系统可以应用于许多领域,如自动化银行处理、邮政处理、医疗诊断、足球比分预测等。它可以大大提高处理效率和准确度,为人们带来更好的服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值