• svn使用


    svn用于版本管理,跟我们平时开发息息相关。

    svn命令对比与普通命令稍微复杂。但是其有强大的help可以帮助我们。

    svn help
    

    对于某些功能,仅仅依靠svn help无法完全得到结果。可以通过

    svn help your_command
    

     来进一步查询。

    现在有一个问题:1713-目前版本提交了一个重要文件(忘记文件名了),最近我肯定是修改了这个文件,我想看看我修改了什么。

    大体思路:

    1. 首先根据log查看到底修改了那些文件

    2. 找到具体文件使用svn diff来查看修改内容。

    >>>svn help log
    Valid options:
      -r [--revision] arg      : ARG (some commands also take ARG1:ARG2 range)
                                 A revision argument can be one of:
                                    NUMBER       revision number
                                    '{' DATE '}' revision at start of the date
                                    'HEAD'       latest in repository
                                    'BASE'       base rev of item's working copy
                                    'COMMITTED'  last commit at or before BASE
                                    'PREV'       revision just before COMMITTED
      -q [--quiet]             : print as little as possible
      -v [--verbose]           : print extra information
    HEAD:版本库中的最新版本。
    COMMITED:文件最后提交生成的版本号。
    PREV:文件倒数第二次提交生成的版本号。
    BASE:目录签出或者签入生成的版本号。
    
    >>>svn log -r 1713:head -v
    根据log列表找到自己想要的文件: /zzzadmin/src/ApiBundle/Controller/CenterController.php
    这个路径是svn路径,非系统文件路径
    
    >>> svn diff -r 1713:head src/ApiBundle/Controller/CenterController.php # 查看1713和库中最新版本的区别
    >>> svn diff -r 1713 src/ApiBundle/Controller/CenterController.php # 查看当前文件和1713区别
    

     这里只是举个例子,大部分常用操作都可以通过svn help的帮助自己一点点来处理。

    下面再讲一下svn properset

      Note: svn recognizes the following special versioned properties
      but will store any arbitrary properties set:
        svn:ignore     - A newline separated list of file patterns to ignore.
        svn:keywords   - Keywords to be expanded.  Valid keywords are:
          URL, HeadURL             - The URL for the head version of the object.
          Author, LastChangedBy    - The last person to modify the file.
          Date, LastChangedDate    - The date/time the object was last modified.
          Rev, Revision,           - The last revision the object changed.
          LastChangedRevision
          Id                       - A compressed summary of the previous
                                       4 keywords.
        svn:executable - If present, make the file executable.
        svn:eol-style  - One of 'native', 'LF', 'CR', 'CRLF'.
        svn:mime-type  - The mimetype of the file.  Used to determine
          whether to merge the file, and how to serve it from Apache.
          A mimetype beginning with 'text/' (or an absent mimetype) is
          treated as text.  Anything else is treated as binary.
        svn:externals  - A newline separated list of module specifiers,
          each of which consists of a relative directory path, optional
          revision flags, and an URL.  For example
            foo             http://example.com/repos/zig
            foo/bar -r 1234 http://example.com/repos/zag
        svn:needs-lock - If present, indicates that the file should be locked
          before it is modified.  Makes the working copy file read-only
          when it is not locked.
      The svn:keywords, svn:executable, svn:eol-style, svn:mime-type and
      svn:needs-lock properties cannot be set on a directory.  A non-recursive
      attempt will fail, and a recursive attempt will set the property
      only on the file children of the directory.
    
    通过 svn help properset 可以看到properset可以修改某些属性。
    
    
    以设置某个文件夹不纳入版本管理为例:
    $ mkdir your_file
    $ svn propset svn:ignore your_file . (一定要加.用于代表where to apply the setting.)
    $ svn commit -m "ignore your_file"
    

     如何解决 A在svn中add了一个文件;B未更新也Add了一个文件,当B提交时报错:“Failed to add file path/to/file: object of the same name is already scheduled for addition”

    Q:  Failed to add file /path/to/directory/with/suspected/duplicate: object of the same name is already scheduled for addition
    A:  cd /path/to/directory/with/suspected/duplicate
         svn revert .
         svn cleanup
         svn update
  • 相关阅读:
    从内存中加载并启动一个exe
    使用Hamcrest增强JUnit的测试能力
    Delphi编译指令说明
    Delphi 64与32位的差异
    获取exe文件窗口抓图,将memo转化为JPG输出
    Delphi 的 Utf-8 转换
    我的第一个破解软件,试验成功!
    Qt之QComboBox(基本应用、代理设置)
    常见寄存器以及常见汇编指令,常见爆破指令 good
    大神级回答exists与in的区别
  • 原文地址:https://www.cnblogs.com/codesay/p/3244153.html
Copyright © 2020-2023  润新知