这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 aed,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
aegis 差异 - 找出变更与基线之间的差异
概要
庇护 -区别 [ 文件名...] [ 选项...]
庇护 -区别 -列表 [ 选项...]
庇护 -区别 -帮助
商品描述
这个 庇护 -区别 命令用于生成源之间的差异列表
开发目录和基线中的文件。 目的是使
审阅者查找对源文件执行的每一个编辑。 区别
列表将被放入以源文件命名的文件中,但有一个额外的
“,D”后缀。
用于执行差异的命令在 差异命令 的领域
项目配置文件(见 配置文件(5) 了解更多信息)。
可以将项目配置为在不必要时省略 diff 步骤,通过
以下设置:
diff_command = "退出 0";
这将禁用每次更改的差异文件的所有生成、检查和验证
源文件。 的合并功能 艾迪夫(1) 命令不受此影响
设置。
请注意 历史内容限制 项目配置文件的字段
不 而不去 适用于 差异命令 领域。
如果命令行上没有命名文件,则更改中的所有文件都将有所不同。
您可以在命令行上命名一个目录,并在该目录中更改所有文件
目录树会有所不同。
文件 姓名 解释
aegis 程序将尝试从文件名中确定项目文件名
在命令行中给出。 所有文件名都作为相对文件名存储在 aegis 项目中
到基线目录树的根。 开发目录和
集成目录是这个基线目录的影子,所以这些相对名称
也在这里申请。 命令行中命名的文件首先转换为绝对路径
如有必要。 然后将它们与基线路径、开发目录进行比较
path 和集成目录路径,以确定相对于基线的名称。 这是
如果命名的文件在这些目录树之一之外,则会出现错误。
这个 -BASE_Relative 选项可用于将相对文件名解释为
相对于基线路径; 绝对文件名仍将与各种
路径以确定基线相对名称。
这个 相对文件名首选项 在用户配置文件中可以用来修改
这种默认行为。 看 配置文件(5) 了解更多信息。
通知
命令的动作由 差异命令 和 合并命令 领域
该项目 配置 文件。 看 配置文件(5) 了解更多信息。
“ 基准线 LOCK
基线锁用于确保基线保持一致状态
需要读取基线中文件内容的命令的持续时间。
要求基线一致的命令(包括 AEB(1)
欧共体(1)和 AED(1) 命令) 取基线 读 锁。 这是一个非排他锁,所以
变化的同步发展不会受到阻碍。
修改基线的命令, 通行证(1)、取基线 写 锁。 这个
是排他锁,强制 通行证(1) 阻塞直到没有活动的基线读取
锁。
上述开发命令之一可能会阻塞,直到进行中
庇护 -Integrate_PASS 完成。 这通常是短期的,而项目
历史被更新。 延迟是必不可少的,以便这些命令收到一致的
基线视图。 没有其他集成命令会导致上述发展
命令阻止。
当使用 aegis 的分支功能时,会在
分支基线以及每个“父”基线。 但是,基线写入
(独占)锁只在分支基线上使用; “父”基线只是
读取(非独占)锁定。
文件 操作 调整
当此命令运行时,它首先根据项目文件检查更改文件。 如果
有不一致的地方,文件动作会做如下调整:
create 如果正在创建一个文件,但集成了另一个更改集,它也
创建文件,仍在开发的更改集中的文件操作将是
调整为“修改”。
修改 如果正在修改文件,但集成了另一个更改集,该更改集将删除
文件,仍在开发的更改集中的文件操作将是
调整为“创造”。
remove 如果正在删除一个文件,但集成了另一个更改集,该更改集将删除
文件,该文件将从仍在开发的更改集中删除。
冲突 分辨率
如果更改中的文件版本与更改中的文件版本不同
基线,它是过时的; 其他一些更改更改了文件,而此更改是
正在开发中。
当为过期文件请求差异时,将在两个文件之间执行合并
共同祖先、基线版本和开发版本
目录。 用于执行合并的命令由 合并命令 部分
项目配置文件(见 配置文件(5) 了解更多信息)。
请注意 历史内容限制 项目配置文件的字段
不 而不去 适用于 合并命令 领域。
执行合并后,文件的版本将更改为当前版本
版本,将文件标记为最新,并且需要新的构建。
开发目录中的原始文件保留有“,B”后缀(B 表示
备份)。 源文件包含合并的结果。 你应该编辑源
文件,以确保自动合并产生了合理的结果。
这个合并过程大部分时间都有效。 通常将两个更改为两个逻辑上分开的
功能领域将改变他们可能拥有的任何文件的两个逻辑上独立的部分
共同点。 在某些病态的情况下,这种合并过程非常壮观
没用,但这些在实践中出奇地罕见。
如果您不想要自动合并结果,只需使用 mv(1)命令恢复
“,B”文件中的内容。
如果需要任何合并,则不会执行任何差异。 错误消息和非
也将导致零退出状态。 这是为了确保开发人员注意到合并
已经完成,并且他们调和了来源和合并的 ,D 之前的文件
下一个区别。 见 -No_Merge 和 -Only_Merge 下面的选项用于精确控制
执行合并时。
克隆 和 合并
当您使用 单克隆(1)克隆一个变更集,然后整合两个变更之一
设置,您会观察到 Aegis 说未集成更改的文件现在是
过时了。
如果你跑步 Aem(1) 使过时的文件恢复到最新状态, 合并(1) 和一些(但
不是)所有其他合并工具,它表示几乎所有的事情都是冲突,即使
两种选择都是相同的。
问题是两个更改对同一文件中的同一位置进行了相同的编辑
是逻辑冲突,即使不是实际冲突,也需要人来理解
出差异。 想想一个购物清单:套间需要更多的肥皂,也是如此
主浴室。 两个购物清单合并的第二个“肥皂”不是
重复,你真的需要两盒肥皂。 有时编辑源文件是
相同:有时通过应用两个相同的编辑来解决逻辑冲突,而不是
只有一个。
这只是 合并(1) 命令比 RCS 更保守 合并(1) 命令。
处理这种常见情况的最简单方法是运行
aecpu - 不变
命令 before 你运行 Aem(1) 合并命令,您将减少悲伤。 这也是
值得记住的是,Aegis 使用 ,B 后缀(B 表示备份)存储原始文件,因此
你可以简单地
mv 富巴,B 富巴
如果您知道所有冲突都是逻辑冲突。
积分
在集成过程中,也需要区别一个变化。 这提供了
分支与其父分支之间的差异,因为当分支上的开发是
已完成,待审核。 一个分支的基线是开发
它代表的复合更改的目录。
配置
理解以下选项:
-预料 更改号码
此选项用于指定参考文件的来源,而不是指定参考文件的来源
基线。 这可用于与更改同步而无需等待
使其到达基线。 如果预期的变化是错误的
不在其中之一 '存在 审查' or '等待 一体化' or '存在
融合的' 状态。 总是会执行合并,因为预期的更改
是“即将”使任何公共文件过时。 你仍然需要执行一个
“真正的”稍后合并。
-分支 数
此选项可用于为源文件指定不同的分支,而不是
比基线。 (也可以看看 -树干 选项。 请注意:该 -分支 选项
不带项目名称,只带分支号后缀。
-祖父母
此选项可用于指定祖父分支(从
当前分支)用于原始文件,而不是基线。 (-祖父母
选项与“-branch ..”选项相同。)
-改变 数
此选项可用于指定项目中的特定更改。 看
庇护(1) 有关此选项的完整说明。
-帮助
此选项可用于获取有关如何使用 庇护
程序。
-列表
此选项可用于获取此命令的合适主题列表。
该列表可能比预期的更笼统。
-Not_Logging
此选项可用于禁用输出和错误的自动记录到
一份文件。 当多个 aegis 命令组合在一个 shell 中时,这通常很有用
脚本。
-树干
此选项可用于指定源文件的项目主干,而不是
比基线。 (也可以看看 -分支 选项,-trunk 选项与
“-branch -”选项。)
-No_Merge
此选项用于仅生成文件差异,即使在
文件版本已过时。 如果未设置,则默认使用
差异偏好 的领域 配置文件(5) 档案。
-Only_Merge
此选项用于仅对具有 out- 的文件执行文件合并
最新版本。 其他源文件将被忽略。 如果未设置,则默认为
使用 差异偏好 的领域 配置文件(5) 档案。
-自动_合并
该选项用于执行 -Only_Merge 如果任何源文件已过期
版本,否则 -No_Merge is 执行。 只有合并或差异将是
执行,它永远不会使用混合物。 如果未设置,则默认使用
差异偏好 的领域 配置文件(5) 档案。
-项目 姓名
此选项可用于选择感兴趣的项目。 当没有 -项目
选项被指定, 宙斯盾项目 环境变量被咨询。 如果
不存在的,用户的 $HOME/.aegisrc 检查默认文件
项目字段(见 配置文件(5) 了解更多信息)。 如果那不存在,
当用户只在单个项目中进行更改时,项目
名称默认为该项目。 否则,这是一个错误。
-TERse
此选项可用于使列表产生最少的
信息。 它通常对 shell 脚本很有用。
-详细
此选项可用于使 aegis 产生更多输出。 默认情况下
只产生错误的输出。 当与 -列表 选项这个选项
导致添加列标题。
-等待 此选项可用于要求 Aegis 命令等待访问锁定,如果
它们不能立即获得。 默认为用户的 锁等待偏好
如果未指定,请参阅 配置文件(5) 了解更多信息。
-No_Wait
此选项可用于要求 Aegis 命令在访问时发出致命错误
不能立即获得锁。 默认为用户的
锁等待偏好 如果未指定,请参阅 配置文件(5) 了解更多信息。
参见 庇护(1) 对于所有 aegis 命令通用的选项。
所有选项都可以缩写; 缩写记录为大写字母,
所有小写字母和下划线 (_) 都是可选的。 您必须使用连续
可选字母的序列。
所有选项都不区分大小写,您可以将它们输入为大写或小写或
两者结合,大小写并不重要。
例如:参数“-project”、“-PROJ”和“-p”都被解释为表示
-项目 选项。 参数“-prj”不会被理解,因为连续
未提供可选字符。
选项和其他命令行参数可以在命令行上任意混合,
在功能选择器之后。
GNU 长选项名称是可以理解的。 由于所有选项名称为 庇护 很长,
这意味着忽略额外的前导“-”。 这 ”--选项=折扣值"约定也是
明白了。
推荐 别名
此命令的推荐别名是
csh% 别名 aed 'aegis -diff \!* -v'
sh$ aed(){aegis -diff "$@" -v}
为了用户的方便,特别是当他们选择了“不合并”首选项时,
还有一个合并别名:
csh% 别名 aem 'aegis -diff -only_merge \!* -v'
sh$ aem(){aegis -diff -only_merge $* -v}
错误
如果更改不在 作为 发达 or 作为 集成 状态。
退出 状态
这个 庇护 命令将在出现任何错误时以 1 状态退出。 这 庇护 命令只会
如果没有错误,则退出状态为 0。
环境 变数
参见 庇护(1) 获取可能影响此命令的环境变量列表。 看
配置文件(5)为项目配置文件的 项目特定 字段如何设置
Aegis 执行的所有命令的环境变量。
使用 onworks.net 服务在线使用 aed
