【转】svn详解

2023-11-01

转自:svn status详解 - 世界,太精彩 - 博客园

svn 是在提交前查看本地文本和版本库里面的文件的区别。返回值有许多种具体含义如下:

L      abc.c               # svn已经在.svn目录锁定了abc.c
M      bar.c                  # bar.c的内容已经在本地修改过了
M      baz.c                 # baz.c属性有修改,但没有内容修改
X      3rd_party           # 这个目录是外部定义的一部分
?      foo.o               # svn并没有管理foo.o
!      some_dir            # svn管理这个,但它可能丢失或者不完整
~      qux                 # 作为file/dir/link进行了版本控制,但类型已经改变
I      .screenrc           # svn不管理这个,配置确定要忽略它
A  +   moved_dir           # 包含历史的添加,历史记录了它的来历
M  +   moved_dir/README    # 包含历史的添加,并有了本地修改
D      stuff/fish.c        # 这个文件预定要删除
A      stuff/loot/bloo.h   # 这个文件预定要添加
C      stuff/loot/lump.c   # 这个文件在更新时发生冲突
R      xyz.c               # 这个文件预定要被替换
S      stuff/squawk        # 这个文件已经跳转到了分支
  
在这种格式下,svn status打印五列字符,紧跟一些空格,接着是文件或者目录名。
第一列告诉一个文件的状态或它的内容,返回代码解释如下:
A item 文件、目录或是符号链item预定加入到版本库。
C item 文件item发生冲突,在从服务器更新时与本地版本发生交迭,在你提交到版本库前,必须手工的解决冲突。
D item 文件、目录或是符号链item预定从版本库中删除。
M item 文件item的内容被修改了。
R item 文件、目录或是符号链item预定将要替换版本库中的item,这意味着这个对象首先要被删除,另外一个同名的对象将要被添加,所有的操作发生在一个修订版本。
X item 目录没有版本化,但是与Subversion的外部定义关联,关于外部定义,可以看“外部定义”一节。
? item 文件、目录或是符号链item不在版本控制之下,你可以通过使用svn status的--quiet(-q)参数或父目录的svn:ignore属性忽略这个问题,关于忽略文件的使用,见“svn:ignore”一节。
! item 文件、目录或是符号链item在版本控制之下,但是已经丢失或者不完整,这可能因为使用非Subversion命令删除造成的,如果是一个目录,有可能是检出或是更新时的中断造成的,使用svn update可以重新从版本库获得文件或者目录,也可以使用svn revert file恢复原来的文件。
~ item 文件、目录或是符号链item在版本库已经存在,但你的工作拷贝中的是另一个。举一个例子,你删除了一个版本库的文件,新建了一个在原来的位置,而且整个过程中没有使用svn delete或是svn add。
I item 文件、目录或是符号链item不在版本控制下,Subversion已经配置好了会在svn add、svn import和svn status命令忽略这个文件,关于忽略文件,见“svn:ignore”一节。注意,这个符号只会在使用svn status的参数--no-ignore时才会出现—否则这个文件会被忽略且不会显示!
 
第二列说明文件或目录的属性的状态(更多细节可以看“属性”一节),
如果一个M出现在第二列,说明属性被修改了,否则显示空白。

第三列只显示空白或者L
L表示Subversion已经在.svn工作区域锁定了这个项目,当你的svn commit正在运行的时候—也许正在输入log信息,运行svn status你可以看到L标记,如果这时候Subversion并没有运行,可以推测Subversion发生中断并且已经锁定,你必须运行svn cleanup来清除锁定(本节后面将有更多论述)。


第四列只会显示空白或+
+的意思是一个有附加历史信息的文件或目录预定添加或者修改到版本库,通常出现在svn move或是svn copy时,如果是看到A  +就是说要包含历史的增加,它可以是一个文件或是拷贝的根目录。+表示它是即将包含历史增加到版本库的目录的一部分,也就是说他的父目录要拷贝,它只是跟着一起的。 M  +表示将要包含历史的增加,并且已经更改了。当你提交时,首先会随父目录进行包含历史的增加,然后本地的修改提交到更改后的版本。

第五列只显示空白或是S
表示这个目录或文件已经转到了一个分支下了(使用svn switch)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【转】svn详解 的相关文章

  • 修复颠覆中犯下的错误

    这似乎是人们可能想要用颠覆做的最基本的事情之一 但我使用版本控制系统的时间并不长 不知怎的 我似乎无法弄清楚这一点 而且我不知道在哪里svn文档看看 基本上 修订版 167 工作得很好 但我犯了一个错误 并将其提交为修订版 168 而且我不
  • 用于 Tortoise 客户端的 Windows Subversion 服务器 (SVN)

    我的问题是这样的 在 Windows 上使用的 Subversion Server https stackoverflow com questions 615866 subversion server to use on windows 唯
  • 如何隔离特定的颠覆修订版?

    我有一个已提交给 SVN trunk 的修订版 我想回滚它 但是 我想以某种方式保留更改 例如分支甚至补丁文件 有什么建议么 反向合并 我认为这就是这个术语 提交 仅此而已 对于 反向合并 部分 TSVN 有一个很酷的功能 称为 恢复到此版
  • 如何将svn文件夹上一级

    我需要将 svn 文件夹移至上一级并保留所有历史记录 所有文件和目录来自https myserver com svn Project trunk into https myserver svn Project 我使用一个命令 svn mov
  • Eclipse、Subclipse 1.8.2、SVN 1.7.0 每次操作都要求输入密码

    我安装新的后日食靛蓝 它会要求我输入密码SVN存储库透视图 例如 浏览每个文件夹并再次询问密码 正常使用SVNKit 它要求输入密码每次会话一次 SVNKit 不支持SVN 1 7 0 yet 我该如何解决这个问题 或者这是 JavaHL
  • 以最小的努力在多台计算机之间同步代码

    我希望能够跨多台计算机 准确地说是 3 台 同步源代码和整个项目 我尝试过使用 git 但从来没有获得过无忧无虑的体验 也许是因为我从来没有投入很多精力 所以 我理想中想要的是 能够将文件夹及其所有子文件夹添加到 同步 列表 基本上 一旦我
  • 当文件标记为“历史记录已提交”时,svn diff

    我对已合并到工作目录中主干的分支进行了更改 svn stat 显示已更改文件的正确列表 但是 svn stat 输出在计划提交新添加到分支的每个文件的历史记录中包含一个 A src main java com java 当我运行 svn d
  • SVN 预提交挂钩,用于避免更改标签子目录

    有没有人对如何添加避免更改标签子目录的预提交挂钩有明确的说明 我已经在互联网上搜索了很多 我找到了这个链接 SVN Hooks 拒绝更改 https metacpan org pod SVN Hooks DenyChanges 但我似乎无法
  • 将 git 与 svn 一起使用的好习惯

    Subversion 几年前就很流行 现在 git 也开始流行 越来越多的人想用 git 取代 Subversion 问题是很多项目都是基于 Subversion 的 所以问题是如何将 git 与 Subversion 一起使用 不要完全取
  • 如何在 svn 存储库中本地忽略 .git 和 .gitignore?

    我有一个 SVN 工作副本 由 TortoiseSVN 管理 在该工作副本中 我使用 git 进行本地版本控制和分支 当然 我想隐藏svn的 git目录和 gitignore文件 但是 忽略它们意味着将属性添加到不再是本地的存储库中 我不希
  • 在使用 Ant/Jenkins 时,如何查看同一 Java 项目的不同 Subversion 标签/分支?

    这是我的开发配置 颠覆之下 我有我的project X trunk 带有我最新的开发人员 我有我的project X tags 具有不同的版本 我正在考虑添加一个分支文件夹 我正在使用 Jenkins 使用 Ant 脚本构建我的projec
  • Python Subversion 包装器库

    在颠覆的文档 http svnbook red bean com en 1 7 svn developer usingapi html svn developer usingapi otherlangs有一个从 Python 使用 Subv
  • 您使用分支/标签/主干约定吗?

    您是否始终遵循将分支 标签和主干目录放在 Subversion 存储库顶层的惯例 最近 我不再打扰 也没有发生任何不好的事情 还 如果需要创建目录树 应该可以移动目录树 我是不是给以后惹麻烦了 您是否尝试过分支或标记 到那时 就没有问题了
  • svn:使用vim合并冲突

    我正在尝试看看如何使 svn 中的合并变得容易 This page http svnbook red bean com en 1 7 svn advanced externaldifftools html提到可以使用外部工具进行合并 vim
  • 是否存在比 SVN 更快的集中版本控制?

    我已经使用 SVN 很长时间了 现在我们正在尝试使用 Git 我在这里谈论的不是中心化 去中心化的争论 我唯一关心的是速度 后一个工具要快得多 但有时 我需要使用一种集中式方法 这种方法比分散式方法更简单 更简单 学习曲线非常快 这节省了大
  • 颠覆和混合修订:破坏构建的秘诀?

    在使用 TFS 一段时间后 我刚刚回到 subversion 一般来说我已经很退出了 有一件事情我记得不一样 我不记得能够从过时的工作副本中提交 或者也许我的记忆力让我无法理解 过时 的定义 我认为 过时 意味着自从我上次更新工作副本以来
  • svn删除删除的文件

    我有一个 SVN 项目的工作副本 文件被应用程序从此工作副本中删除 当我使用 SVN 命令行提交工作副本时 我想从存储库中删除这些已删除的文件 如果我使用提交工作副本svn commit它不会从项目中删除文件 因为它们没有在本地删除svn
  • Maven 中不同配置文件的不同 SCM

    在我的项目中 我们必须使用 maben build number 插件来构造 jar 的最终名称 为此我们使用 SCN 的修订版 因此我们需要 SCM 但是我们在无法直接访问的受控环境和本地测试环境上有两个 SVN 因此对于我们的 poup
  • 带有 LDAP 身份验证的 SVN 不起作用

    我首先从我的设置开始 为此我们有 2 台服务器 Server1 将用于所有源代码 文件等 在 Server2 上 我们拥有所有用户信息和登录信息 两台服务器都运行在 Centos 6 4 上 现在我们要在 server1 上设置一个 SVN
  • TortoiseSVN 不要求身份验证?

    我已经在conf文件中设置了一个新的SVN存储库 运行SVNServe anon access none SVNServe 忠实地正确地做到了这一点 但是当我尝试使用 TortoiseSVN 浏览存储库时 它只是说不允许访问 它不应该要求我

随机推荐

  • win7下面怎么安装Active Directory

    可以先安裝下面補丁 網上可下載 可區分簡體 繁體版 Windows6 1 KB958830 x64 RefreshPkg msu Windows6 1 KB958830 x86 RefreshPkg msu 下面提供方法 1 根據環境選擇所
  • 深度优先遍历(Depth-First Search, DFS)和广度优先遍历(Breadth-First Search, BFS)

    深度优先遍历 DFS 问题1 什么是深度优先遍历 DFS 答案 深度优先遍历是一种用于遍历树或图的算法 它从根节点 或其他起始节点 开始 首先探索尽可能深的分支 然后回溯并继续探索其他分支 它通常使用递归或栈来实现 问题2 如何实现深度优先
  • C++ vector容器-45-vector互换和节省空间和预留空间

    这篇来学习vector一个互换操作 也就是有两个vector对象 可以通过一个api 把两个对象互换过来 实际上 就是在内存中交换了对象的指针 原来的指针指向新的vector对象 这种交换有时候是很有必要 特别是匿名vector对象进行交换
  • UE4蓝图系统详细讲解

    关于UE4蓝图系统原理可以参考 UE4编辑器进阶 里面清楚的讲解了关于编辑器开发所涉及到的知识点 比如蓝图开发 虚拟机开发 蓝图编译 反射数据 序列化字节码等
  • 解决Mac安装Homebrew失败

    首先使用Homebrew官网的安装shell命令安装 bin bash c curl fsSL https raw githubusercontent com Homebrew install HEAD install sh 会出现如下错误
  • JSON.stringify()和JSON.parse()应用场景

    前言 JSON stringify 将对象 数组转换成字符串 JSON parse 将字符串转成json对象 应用场景 1 a 浏览器创建 获取 sessionStorage localStorage 数组内容 b 路由 浏览器地址 传参
  • 如何新建一个duilib项目(手把手创建)

    如何新建一个duilib项目 duilib示例项目下载 0积分下载 1 创建项目目录 在桌面上新建一个文件夹 MyDuilib 用来做我们项目的根目录 2 创建一个Win32项目 1 打开VS2013 新建一个 Win32项目 项目目录选择
  • uniapp运行到小程序之无法启动

    创建了一个uniapp项目 要求是在H5以及小程序都可运行 H5端很容易实现 那么我们来一起探讨小程序遇到的问题 首先 HbuilderX运行到微信小程序 前提是要安装微信开发者工具 来模拟手机上的小程序情景 运行报错 原因是微信小程序工具
  • 国产WMS仓库管理系统排名

    导读 WMS仓库管理系统是通过入库业务 出库业务 仓库调拨 库存调拨和虚仓管理等功能 对批次管理 物料对应 库存盘点 质检管理 虚仓管理和即时库存管理等功能综合运用的管理系统 可以有效控制并跟踪仓库业务的物流及成本管理的全过程 实现或完善企
  • 学习笔记 JavaScript ES6 Webpack核心概念

    学习内容 入口 entry 出口 output Loader 插件 plugin 模式 mode ES6 新特性的语法是无法被浏览器所识别的 浏览器只能识别ES5的语法 所以ES6 需要使用一个工具 把语法转化为ES5的语法 这个工具就是B
  • MyBatis3框架详解(四)

    一 select元素 select标签元素是用来定义查询操作的 id属性 唯一标识符 用来引用这条语句 需要和接口的方法名一致 parameterType属性 参数类型 可以不传 mybatis会根据TypeHandler自动推断 resu
  • 计算机网络3—网络层

    IP报文的格式和各个字段的含义 掌握IP分片 如何避免IP分片 在应用层做限制 在传输层做限制 如何确定分片顺序 接收端如何确定所有分片都到了 IP线路 路由表 路由表每个字段的含义 ICMP协议 查询 报错 ICMP协议的层次和作用 IC
  • java异常NoClassDefFoundError

    这个问题错误原因众多 如下是我在解析数据时遇到的问题并附上解决方法 遇到这样的问题 java lang ClassNotFoundException serialization Serializer 提示没有找到定义的Class 查看各个文
  • win下安装nextcloud_在 Windows 平台下搭建docker - nextCloud 个人云盘

    一直感觉放在百度网盘里面的数据很不安全 因为之前因为存一些技术教程被封过号 再也没活过来 正巧赶上盘当劳事件 手里还有闲置硬件资源 终于下定决心自己搭建一个 NAS 来用了 先挂载到本地磁盘中 因为我们不想因为存储的数据随着容器的删除而消失
  • 机器学习之数据准备

    1 数据预处理的理由 在开始训练机器学习的模型之前 需要对数据进行预处理 这是一个必须的过程 不同算法对数据有不同的假设 需要按照不同的方式转换数据 这样做的目的是为了提高模型的准确度 2 数据转换的方法 调整数据尺度 正态化数据 二值数据
  • oracle libcpt ora,Oracle12c R2注意事项: Active DataGuard logon fail with ORA-00604& ORA-04024

    这是一套12c R2 4 nodes Oracle RAC on RHEL 7的环境 已安装0417 RU 该库有一套Phyical DataGard 同时也是GoldenGate的target端 存在一个replicat 进程同步数据 一
  • C++类模板

    类模板和函数模板语法相似 在声明模板template后面加类 此类称为类模板 类模板作用 建立一个通用类 类中的成员 数据类型可以不具体制定 用一个虚拟的类型来代表 语法 template
  • scanner hasnext方法的结束输入

    先看一段经典的程序 import java util Scanner public class aplusb public static void main String args Scanner in new Scanner System
  • ubuntu 18.04 中 编译 FasterTransformer,与缺少安装包

    前提 A100 cuda 11 6 cudnn8 nccl zlib1g dev git clone recursive https github com NVIDIA FasterTransformer git git submodule
  • 【转】svn详解

    转自 svn status详解 世界 太精彩 博客园 svn 是在提交前查看本地文本和版本库里面的文件的区别 返回值有许多种具体含义如下 L abc c svn已经在 svn目录锁定了abc c M bar c bar c的内容已经在本地修