Windows 命令行SVN帮助检查工作副本是否是服务器中现有副本的过期副本

Windows 命令行SVN帮助检查工作副本是否是服务器中现有副本的过期副本,windows,svn,tortoisesvn,Windows,Svn,Tortoisesvn,你好 我想在我的应用程序中实现以下流程(如伪代码所示) LatestRevision=IsMyFileLatest();//一些应该检查svn并比较文件工作副本的方法 if (! LatestRevision) //this flag compares with the Head Revision { //Display error message..The file is not the latest copy } else { // Commit the file changes

你好 我想在我的应用程序中实现以下流程(如伪代码所示)

LatestRevision=IsMyFileLatest();//一些应该检查svn并比较文件工作副本的方法

if (! LatestRevision)  //this flag compares with the Head Revision
{
   //Display error message..The file is not the latest copy
}
else
{
  // Commit the file changes in the subversion server
  FileCommit();   //commits the file(whichever file im working to the server)     
}
为此,我需要在命令行中执行以下svn命令的帮助

  • 检查当前文件是否为最新文件
  • 仅提交目录中已修改的文件
  • 非常感谢关于subversion命令行的任何帮助或建议


    感谢并致以最诚挚的问候

    VisualSVN网站上有一本关于Subversion的“书”,该书的位置为您提供了一个很好的起点-尽管我不知道您需要使用哪些确切的命令

    有一章是命令的参考:

    解释了一些可能对你有帮助的方法

    编辑:

    另一方面,在读了你修改过的书名后,你可能在寻找什么

    编辑2:

    好的,考虑到您的问题中使用的编程语言没有明确说明,而且它的语法非常常见,我们可以将猜测比作击败一匹死马,下面是通用(Windows世界)VBScript中的一个小片段

    Dim shell, svn
    Set shell = CreateObject("WScript.Shell")
    Set svn = shell.Exec("svn info [working_copy_path]")
    
    WScript.Sleep 1000
    
    Dim revision
    Do While svn.StdOut.AtEndOfStream <> True 
        revision = svn.StdOut.ReadLine
        If left(revision, 8) = "Revision" Then
            Exit Do
    End If
    Loop
    
    WScript.Echo revision
    
    Dim shell,svn
    Set shell=CreateObject(“WScript.shell”)
    设置svn=shell.Exec(“svn info[working\u copy\u path]”)
    WScript.Sleep 1000
    模糊修正
    当svn.StdOut.AtEndOfStream为True时执行
    修订版=svn.StdOut.ReadLine
    如果左(修订,8)=“修订”,则
    退出Do
    如果结束
    环
    Echo修订版
    

    我对所使用的
    睡眠
    机制并不感到自豪,但幸运的是,我不是这里的责任人,所以我将留给自己制定一个清晰的方法,并把它作为一个例子。

    你所说的“最新版本”是什么意思?在哪里犯?在什么情况下?需要更多的细节吗?subversion能为您做到这一切吗?这真的是它的运作方式。最新版本的标志意味着“最新版本”…对不起,我要再次编辑这部分,。关于提交,它只是提交回存储库,这部分im awareNo svn status只会返回一个修改过的文件列表。我需要一些东西(即使它是一个两步的方法),以检查我的工作副本是否被修改,并检查它是否是一个旧的修订,我的修改是作出的。SVN抛出了一个默认冲突,我只是想在我的应用程序级别HI中处理这个场景。。。实际上,“svn信息”对我来说很有用,你知道我如何从列表中提取“修订”列信息吗result@this-我:如果我们甚至不知道您在哪种语言或环境下工作,我们如何建议如何提取字符串?@this Me:Wim是正确的,但是如果我能在这段时间后更新我的答案,我会尝试一下。谢谢。。。我尝试了另一种方法,将内容刷新到xml文件中,然后使用svn info读取它…….示例svn info C:\Projects\Foo.xml--xml>C:\Projects\FileInfo.xml