GoGPT Best VPN GoSearch

OnWorks 网站图标

darcs - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 darcs

这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 darcs,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


darcs - 先进的修订控制系统

概要


达克斯 命令 <参数|[选项]>...

在哪里 命令 及其各自 参数 旨在

达克斯 帮助 [<达克斯_命令> [[达克斯_子命令]]
达克斯 <文件|目录> ......
达克斯 去掉 <文件|目录> ......
达克斯 移动 <资源> ...目的地>
达克斯 更换 <>>文件> ......
达克斯 还原 [文件|目录] ...
达克斯 不退缩
达克斯 什么是新的 [文件|目录] ...
达克斯 记录 [文件|目录] ...
达克斯 不记录
达克斯 修改 [文件|目录] ...
达克斯 标记冲突
达克斯 行李牌 [标签名称]
达克斯 设置首选项 <首选>折扣值>
达克斯 差异 [文件|目录] ...
达克斯 日志 [文件|目录] ...
达克斯 注释 [文件|目录] ...
达克斯 DIST
达克斯 测试 [[初始化] 命令]
达克斯 显示 Contents [文件] ...
达克斯 显示 [文件|目录] ...
达克斯 显示 指数
达克斯 显示 质朴
达克斯 显示 回购
达克斯 显示 作者
达克斯 显示 标签
达克斯 显示 补丁索引全部
达克斯 显示 补丁索引文件
达克斯 显示 补丁索引状态
达克斯 显示 补丁索引测试
达克斯 [知识库] ...
达克斯 [知识库] ...
达克斯
达克斯 回滚 [文件|目录] ...
达克斯 [知识库]
达克斯 提交 [知识库]
达克斯 应用 <补丁文件>
达克斯 克隆 <知识库> [目录>]
达克斯 初始化 [<目录>]
达克斯 优化 清洁
达克斯 优化 HTTP
达克斯 优化 重新排序
达克斯 优化 启用补丁索引
达克斯 优化 禁用补丁索引
达克斯 优化 压缩
达克斯 优化 解压
达克斯 优化 重新链接
达克斯 优化 质朴
达克斯 优化 升级
达克斯 优化 缓存 <目录> ......
达克斯 修复
达克斯 兑换 达克斯-2 <资源> [目的地>]
达克斯 兑换 出口
达克斯 兑换 进口 [<目录>]
达克斯 变基 [知识库] ...
达克斯 变基 应用 <补丁文件>
达克斯 变基 暂停
达克斯 变基 取消暂停
达克斯 变基
达克斯 变基 日志

商品描述


Darcs 是一个免费的开源版本控制系统。 这是:

· 分布式:每个用户都可以访问完整的命令集,消除之间的界限
服务器和客户端或提交者和非提交者。

· 交互式:Darcs 易于学习且使用高效,因为它会问您问题
响应简单的命令,为您提供工作流程中的选择。 你可以选择
在文件中记录一个更改,而忽略另一个。 当您从上游更新时,您
可以查看每个补丁名称,甚至是有趣补丁的完整“差异”。

· Smart:最初由物理学家 David Roundy 开发,darcs 基于独特的
补丁的代数。 这种智能让您可以通过以下方式响应不断变化的需求
否则是不可能的。 了解有关使用 darc 的自发分支的更多信息。

配置


不同的 Darcs 命令接受不同的选项。 每个命令最重要
选项列在 指令 部分。 获取所有选项的完整列表
特定命令,运行`darcs 命令 - 帮助'。

选择 补丁:
--patches 选项生成名称与 *extended* 正则表达式匹配的补丁。
参见 正则表达式(7) 详情。 --matches 选项产生匹配逻辑的补丁
(布尔)表达式:通过分组(括号)组合的一个或多个原始表达式
以及补(not)、连词(and)和析取(or)运算符。 C
也可以使用逻辑运算符(!、&& 和 ||)的符号。

- --patches=regex 是 --matches='name regex' 的同义词 - --hash=HASH 是同义词
--matches='hash HASH' - --from-patch 和 --to-patch 是 --from-match='name...
和 --to-match='name... - --from-patch 和 --to-match 可以毫无问题地组合:
`darcs 更改 --from-patch='html.*documentation' --to-match='date 20040212'`

支持以下原始布尔表达式:

- 精确 - 根据补丁名称检查文字字符串。 - 名称 - 检查常规
针对补丁名称的表达式。 - 作者 - 检查正则表达式
作者姓名。 - hunk - 根据 hunk 补丁的内容检查正则表达式。 ——
评论 - 根据日志消息检查正则表达式。 - hash - 匹配一个完整的哈希
或补丁的前缀。 - 日期 - 匹配补丁日期。 - 触摸 - 匹配文件路径
补丁。

下面是一些例子:

darcs annotate --summary --match 'exact "解决问题17:使用动态内存
分配。”'
darcs 注释 --summary --match 'name issue17'
darcs annotate --summary --match 'name "^[Rr]esolve issue17\>"'
darcs 注释 --summary --match '作者“大卫·朗迪”'
darcs 注释 --summary --match 'author droundy'
darcs 注释 --summary --match '作者 [email protected]'
darcs 注释 --summary --match '大块头“foo = 2”'
darcs 注释 --summary --match 'hunk "^instance .* Foo where$"'
darcs 注释 --summary --match '注释“防止死锁”'
darcs 注释 --summary --match 'hash c719567e92c3b0ab9eddd5290b705712b8b918ef'
darcs 注释 --summary --match 'hash c7195'
darcs 注释 --summary --match '日期“2006-04-02 22:41”'
darcs annotate --summary --match 'date“昨天下午茶时间”'
darcs 注释 --summary --match 'touch src/foo.c'
darcs 注释 --summary --match 'touch src/'
darcs 注释 --summary --match 'touch "src/*.(c|h)"'

指令


达克斯 帮助 [<达克斯_命令> [[达克斯_子命令]]
没有参数,`darcs help` 打印一个分类的 darcs 命令列表和一个
每一项的简短描述。 有一个额外的参数,`darcs help foo` 打印
有关 darcs 命令 foo 的详细帮助。

改变 查询 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 加工 复制:
达克斯 <文件|目录> ......
通常,存储库包含应受版本控制的两个文件(例如
源代码)和 Darcs 应该忽略的文件(例如从
源代码)。 `darcs add` 命令用于告诉 Darcs 哪些文件要版本化
控制。

当第一次将现有项目导入 Darcs 存储库时,通常会
运行 `darcs add -r *` 或 `darcs record -l` 将所有初始源文件添加到 darcs 中。

不支持添加符号链接(symlinks)。

Darcs 将忽略所有看起来“无聊”的文件和文件夹。 `--boring` 选项
覆盖此行为。

如果同一文件夹中的另一个文件具有相同的名称,则 Darcs 将不会添加文件,除非
对于案例。 `--case-ok` 选项覆盖了这种行为。 Windows 和 OS X 通常
使用不允许文件与文件夹具有相同名称的文件系统,但大小写除外
(例如,`ReadMe` 和`README`)。 如果使用`--case-ok`,存储库可能是
在那些系统上无法使用!

达克斯 去掉 <文件|目录> ......
`darcs remove` 命令的存在主要是为了与 `darcs add` 对称,因为
从版本控制中删除文件的正常方法是简单地从
工作树。 这个命令只在不寻常的情况下有用
记录删除补丁而不删除工作树中的副本(可以是
重新添加)。

请注意,将删除补丁应用于存储库(例如通过拉取补丁)将
始终影响该存储库的工作树。

达克斯 移动 <资源> ...目的地>
Darcs 无法可靠地区分正在删除的文件和添加的新文件,
和正在移动的文件。 因此 Darcs 总是假设前者,并提供
`darcs mv` 命令让 Darcs 知道您何时需要后者。 这个命令也会
在工作树中移动文件(与 `darcs remove` 不同),除非它已经被
移动。

如果同一文件夹中的另一个文件具有相同的名称,则 Darcs 不会重命名文件,
情况除外。 `--case-ok` 选项覆盖了这种行为。 Windows 和 OS X
通常使用不允许文件和文件夹具有相同名称的文件系统,除了
案例(例如,`ReadMe` 和`README`)。 如果使用`--case-ok`,则存储库
在这些系统上可能无法使用!

达克斯 更换 <>>文件> ......
除了基于行的补丁之外,Darcs 还支持有限形式的词法
代换。 文件被视为单词序列,并且每次出现旧的
词被新词取代。 这是为了提供一种干净的方法来重命名
函数或变量。 此类重命名通常会影响整个源中的行
代码,因此传统的基于行的补丁很可能与其他
分支,需要手动合并。

文件根据一个简单的规则进行标记:单词是有效标记的字符串
字符,并且它们之间的所有内容(标点符号和空格)都将被丢弃。 经过
默认情况下,有效的标记字符是字母、数字和下划线(即
`[A-Za-z0-9_]`)。 但是,如果旧的和/或新的令牌包含连字符或
句号,连字符和句号都被视为有效(即`[A-Za-z0-9_.-]`)。

可以使用`--token-chars` 选项自定义有效字符集。 这
参数必须用方括号括起来。 如果连字符出现在两个
集合中的字符,它被视为一个集合范围。 例如,在大多数地区
`[AZ]` 表示所有大写字母。 如果第一个字符是插入符号,则有效
标记被视为剩余字符的补充。 例如,
`[^:\n]` 可用于匹配 passwd文件(5),其中记录和字段是
分别由换行符和冒号分隔。

如果您选择使用 `--token-chars`,强烈建议您这样做
始终如一。 使用多个不同的替换补丁的后果
同一文件上的`--token-chars` 参数没有经过很好的测试也没有很好的理解。

默认情况下,如果新令牌已经存在,Darcs 将拒绝执行替换
使用,因为替代品将无法与现有的区分
令牌。 这种行为可以通过提供 `--force` 选项来覆盖,但是
尝试 `darcs rollback` 产生的补丁会影响这些现有的令牌。

限制:

标记器将文件视为字节字符串,因此`--token-chars` 是不可能的
包括多字节字符,例如 UTF-8 的非 ASCII 部分。 相似地,
尝试从单字节编码中替换“高位”字符也会导致
替换具有不同编码的文件中的相同字节。 例如,急性
ISO 8859-1 中的 a 也将匹配 ISO 8859-7 中的 alpha。

由于补丁文件格式的限制,`--token-chars` 参数不能包含
字面空白。 例如,`[^ \n\t]` 不能用于声明所有字符
除了空格、制表符和换行符在一个单词中是有效的,因为它包含一个
字面空间。

与 POSIX 不同 正则表达式(7) 括号表达式、字符类(如`[[:alnum:]]`)
`--token-chars` 不支持,将被默默地视为一组简单的
字符。

达克斯 还原 [文件|目录] ...
`darcs revert` 命令丢弃未记录的更改工作树。 与
`darcs record`,您将被询问要还原哪些大块(更改)。 `--all` 开关
可用于避免此类提示。 如果指定了文件或目录,则其他
工作树的部分不会恢复。

如果您不小心还原了您想要保留的内容(例如,键入 `darcs
rev -a` 而不是 `darcs rec -a`),你可以立即运行 `darcs unrevert` 到
恢复它。 这仅在存储库自此之后没有更改的情况下才保证有效
`darcs revert` 运行。

达克斯 不退缩
Unrevert 是一个救援命令,以防你不小心还原了你想要的东西
保持(例如,输入 `darcs rev -a` 而不是 `darcs rec -a`)。

如果自恢复发生后存储库已更改,则此命令可能会失败。
Darcs 将在执行交互式命令之前要求确认
绝对防止不可逆转。

达克斯 什么是新的 [文件|目录] ...
`darcs whatsnew` 命令列出了对工作树的未记录更改。 如果你
指定一组文件和目录,仅对这些文件进行未记录的更改和
目录被列出。

使用 `--summary` 选项,更改将压缩为每个文件一行,其中
指示变化的性质和程度的助记符。 `--look-for-adds`
选项导致“darcs add”的候选包含在摘要输出中。
总结助记符如下:

* `A f` 和 `A d/` 分别表示添加的文件或目录。 * `R f` 和 `R d/`
分别表示已删除的文件或目录。 * `M f -N +M rP` 表示修改
文件,删除了“N”行,“M”
添加了行,以及`P` 词法替换。 * `f -> g` 表示移动的文件或
目录。 * `af` 和 `ad/` 分别表示一个新的但未添加的文件或
目录,当使用 `--look-for-adds` 时。

感叹号 (!),如 `R! foo.c`,表示大块头已知
与另一个补丁中的大块头冲突。 短语“重复”
意味着已知大块与另一个补丁中的大块相同。

默认情况下,`darcs whatsnew` 使用 Darcs 的内部格式进行更改。 看一些
每次更改周围的上下文(未更改的行),请使用 `--unified` 选项。 查看
改变传统的 `diff` 格式,使用 `darcs diff` 命令; 但请注意
`darcs whatsnew` 更快。

如果没有,则此命令不成功退出(返回非零退出状态)
未记录的更改。

复制 变化 之间 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 加工 复制 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 库:
达克斯 记录 [文件|目录] ...
`darcs record` 命令用于根据工作树中的更改创建补丁。
如果您指定一组文件和目录,将跳过对其他文件的更改。

每个补丁都有一个名称、一个可选的描述、一个作者和一个日期。

Darcs 将在交互后启动一个文本编辑器(参见 `darcs 帮助环境`)
选择,让您输入补丁名称(第一行)和补丁描述
(后续行)。

补丁名称应该是一个简短的句子,简洁地描述补丁,例如
“向主事件循环添加错误处理。” 您可以使用`-m`提前提供它
选项,在这种情况下不会启动文本编辑器,除非您使用
`--edit-long-comment` 选项。

补丁描述是一个可选的自由格式文本块。 它用于供应
不适合补丁名称的附加信息。 例如,它可能
包括为什么需要改变的理由。

补丁名称和补丁描述之间的技术区别在于匹配
标志`-p` 只在补丁名称上完成。

最后,`--logfile` 选项允许你提供一个已经包含
补丁名称和补丁描述。 如果以前的记录失败并离开,这很有用
一个 `darcs-record-0` 文件。

每个补丁都归属于其作者,通常通过电子邮件地址(例如,`Fred
博客[email protected]>`)。 Darcs 在多个地方查找此作者字符串:
`--author` 选项,文件 `_darcs/prefs/author`(在存储库中)和
`~/.darcs/作者`(在您的主目录中)和环境变量
`$DARCS_EMAIL` 和 `$EMAIL`。 如果这些都不存在,Darcs 将提示您输入
作者字符串并将其写入`~/.darcs/作者`. 请注意,如果您有多个
电子邮件地址,您可以将它们全部放在`~/.darcs/作者`,每行一位作者。 达克斯
仍会提示您输入作者,但它允许您从列表中选择,或
输入一个替代选项。

如果要为补丁手动定义任何额外的依赖项,可以使用
`--ask-deps` 标志,darcs 会询问你补丁的依赖关系。 一些
依赖关系可以从补丁的内容中自动推断出来,并且不能
移除。 具有特定依赖项的补丁可以为空。

补丁日期是自动生成的。 它只能通过使用来欺骗
`--pipe` 选项。

如果你使用 `--pipe` 选项运行 record,你会被提示输入补丁日期,
作者,和长评论。 长注释将一直延伸到文件末尾或
达到标准输入(在 Unixy 系统上按 ctrl-D,在运行 Microsoft 操作系统的系统上按 ctrl-Z)。

此接口用于编写 darc 脚本,特别是用于编写存储库
转换脚本。 提示主要用作有用的指南(因为脚本
不需要它们),以帮助您了解提供输入的格式。
以下是 `--pipe` 提示的示例:

今天几号? 美国东部时间 15 年 13 月 38 日星期一 01:2004:XNUMX
作者是谁? 大卫·朗迪
日志是什么? 一个或多个注释行

如果测试命令已用 `darcs setpref` 定义,则尝试记录补丁
将导致测试命令在工作树的干净副本中运行(即
仅包括记录的更改)。 如果测试失败,您将被要求中止
记录操作。

`--set-scripts-executable` 选项使脚本在
在运行测试之前,清理工作树的副本。 参见`darcs clone`
脚本启发式的解释。

如果您的测试命令非常缓慢(例如`make all`)并且您正在录制几个
连续补丁,您可能希望使用 `--no-test` 跳过除最终测试之外的所有测试。

要查看每个更改的上下文(未更改的行),请使用 `--unified` 选项。

达克斯 不记录
Unrecord 与记录相反:它从存储库中删除补丁,而不
更改工作副本。 从存储库中删除补丁会进行主动更改
再次记录或稍后恢复。 注意你不应该使用这个
命令,如果有可能其他用户可能已经拉取了补丁。

达克斯 修改 [文件|目录] ...
Amend 更新了一个“草稿”补丁,添加或改进,导致单个
“完成”补丁。

默认情况下,`amend` 建议您记录其他更改。 如果你想
删除更改,使用标志`--unrecord`。

录制草稿补丁时,最好将名称以“DRAFT:”开头。 什么时候
完成,用`darcs amend --edit-long-comment`删除它。 或者,要更改
不启动编辑器的补丁名称,使用 `--name`/`-m` 标志:

darcs 修改 --match 'name "DRAFT: foo"' --name 'foo2'

像`darcs record`,如果你用文件作为参数调用修改,你只会被问到
关于对这些文件的更改。 所以要修改 foo.c 的补丁,改进
bar.c,你会运行:

darcs 修改 --match 'touch foo.c' bar.c

修改另一个开发人员的补丁通常是一个坏主意。 只求改正
关于默认情况下您自己的补丁,您可以添加类似`amend match David
圆形`到`~/.darcs/默认值`,其中“David Roundy”是您的名字。

达克斯 标记冲突
Darcs 需要人工指导来统一对源文件同一部分的更改。
当第一次发生冲突时,darcs 会将初始状态和两个选择添加到
工作树,由标记`vvv`、`======`、`* * *` 和`^ ^ ^` 分隔,如
如下:

vvvvvvv
初始状态。
=============
第一选择。
*************
第二选择。
^^^^^^^^

但是,您可能会在不实际解析的情况下还原或手动删除这些标记
冲突。 在这种情况下,`darcs mark-conflicts` 可用于显示
未解决的冲突。 如果调用 `darcs apply` 也很有用
`--apply-conflicts`,最初没有标记冲突。

除非你使用 `--dry-run` 标志,对工作树的任何未记录的更改都将
运行此命令时永远丢失! 系统将提示您进行确认
在这发生之前。

直接 修改 of 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 库:
达克斯 行李牌 [标签名称]
`darcs tag` 命令命名当前存储库状态,以便它可以轻松地
后面提到。 每个*重要*状态都应该被标记; 特别好
练习用数字或代号标记每个稳定版本。 发布建议
编号可以在http://producingoss.com/en/development-cycle.html>.

要在标签 `t` 处重现存储库 `R` 的状态,请使用命令 `darcs clone
--tag t R`。 命令 `darcs show tags` 列出当前存储库中的所有标签。

标记还提供了显着的性能优势:当 Darcs 达到共享
依赖于所有先行补丁的标签,它可以简单地停止处理。

与普通补丁一样,标签具有名称、作者、时间戳和可选的长
描述,但它不会改变工作树。 标签可以有任何名称,但它
通常最好选择一个命名方案并坚持下去。

默认情况下,标签在创建标签时命名整个存储库状态。 如果
使用 --ask-deps 选项,作为标签的一部分包含的补丁可以是
明确选择。

`darcs tag` 命令接受 `--pipe` 选项,其行为如
`darcs 记录`。

达克斯 设置首选项 <首选>折扣值>
在处理具有多个存储库和贡献者的项目时,有时
希望在整个项目范围内一致设置首选项。 这是通过
将带有“darcs setpref”的首选项集视为未记录的更改,然后可以
被记录下来,然后像处理任何其他补丁一样处理。

有效的首选项是:

* test——一个运行回归测试的shell命令 * predist——一个shell命令
在 `darcs dist' 之前运行 *boringfile -- 版本控制的无聊文件的路径 *
binariesfile -- 版本控制的二进制文件的路径

例如,一个使用 GNU autotools 的项目,有一个 `make test` 目标来执行
回归测试,可以通过以下方式启用 Darcs 的集成回归测试
命令:

darcs setpref test 'autoconf && ./configure && make && make test'

请注意,当前没有为首选项实现合并:如果两个补丁尝试
要设置相同的首选项,应用到存储库的最后一个补丁将始终采用
优先级。 这被认为是一个低优先级的错误,因为偏好很少
设置。

查询 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 库:
达克斯 差异 [文件|目录] ...
`darcs diff` 命令比较当前工作树的两个版本
存储库。 如果没有选项,原始(已记录)和未记录的工作树是
比较的。 这比 `darcs whatsnew` 命令低级,因为它输出一个
逐行差异,而且速度也较慢。 与`darcs whatsnew`一样,如果您指定
文件或目录,不会列出对其他文件的更改。 该命令始终使用
外部差异实用程序。

使用 `--patch` 选项,将在工作树之间进行比较
没有那个补丁。 所选补丁*之后*的补丁不存在于
比较的工作树。 `--from-patch` 和 `--to-patch` 选项允许设置
分别指定“旧”和“新”工作树中的补丁。

相关的标签和匹配选项也被理解,例如`darcs diff --from-tag
1.0 --to-tag 1.1`。 所有这些选项都假定补丁集的顺序,所以结果
可能会受到诸如“darcs optimize --reorder”之类的操作的影响。

差异(1) 使用参数`-rN` 调用。 `--unified` 选项导致 `-u` 为
传递给 差异(1). 可以使用`--diff-opts`传递额外的参数,例如
`--diff-opts=-ud` 或 `--diff-opts=-wU9`。

`--diff-command` 选项可用于指定替代实用程序,例如
融合 (GNOME) 或 opendiff (OS X)。 可以包含参数,以空格分隔。
该值不被 shell 解释,因此不能使用 shell 构造。 这
必须包含参数 %1 和 %2,它们被替换为两个工作树
被比较。 如果使用此选项,则忽略 `--diff-opts`。

达克斯 日志 [文件|目录] ...
`darcs log` 命令列出构成当前存储库的补丁,或者,
使用`--repo`,一个远程存储库。 没有选项或参数,所有补丁都将
上市。

当给定一个或多个文件或目录作为参数时,只有影响
列出了这些文件或目录。 这包括发生在文件上的补丁
在它们被移动或重命名之前。

当给定一个 `--from-tag`、`--from-patch` 或 `--from-match` 时,只打补丁
标签或补丁被列出。 类似地,`--to-tag`、`--to-patch` 和`--to-match`
选项将列表限制为较旧的补丁。

`--last` 和 `--max-count` 选项都限制列出的补丁数量。 这
前者适用于其他过滤器之前,而后者适用于其他过滤器之后。
例如`darcs log foo.c --max-count 3` 将打印最后三个补丁
影响 foo.c,而`darcs log --last 3 foo.c` 将影响最后三个补丁,
只打印影响 foo.c 的那些。

存在三种输出格式。 默认值为`--human-readable`。 你也可以选择
`--context`,这是内部格式(如在补丁包中看到的),可以
由 Darcs 重新读取(例如`darcs clone --context`)。

最后,还有`--xml-output`,它发出有效的 XML...除非补丁元数据
(作者、姓名或描述)包含非 ASCII 字符并记录在
非 UTF8 语言环境。

请注意,虽然 `--context` 标志可以与 `--xml-output` 或
`--human-readable`,无论哪种情况,darcs clone 都无法读取输出。 在
另一方面,将为知识渊博的人输出足够的信息
重新创建存储库的当前状态。

达克斯 注释 [文件|目录] ...
`darcs annotate` 命令提供了两个不相关的操作。 当调用一个
文件,它将找到最后修改该文件中每一行的补丁。 被调用时
在补丁上(例如使用`--patch`),它将打印该补丁的内部表示
补丁。

`--summary` 选项将产生一个总结补丁注释,类似于 `darcs
最新消息`。 它对文件注释没有影响。

默认情况下,输出采用人类可读的格式。 `--machine-readable` 选项可以
用于生成机器后处理的输出。

达克斯 DIST
`darcs dist` 在存储库的根目录中创建一个压缩档案,
包含工作树的记录状态(未记录的更改和 `_darcs`
目录除外)。 该命令接受匹配器来创建一些
过去的存储库状态,例如`--tag`。

默认情况下,存档(和存档内的顶级目录)具有相同的
name 作为存储库,但这可以用 `--dist-name` 选项覆盖。

如果设置了 predist 命令(参见 `darcs setpref`),该命令将在
归档前的记录状态。 例如,autotools 项目会将其设置为
`autoconf && automake`。

如果使用`--zip`,匹配器和predist 命令将被忽略。

达克斯 测试 [[初始化] 命令]
对存储库的当前记录状态运行测试。 鉴于没有参数,它使用
默认存储库测试(请参阅`darcs setpref`)。 给定一个参数,它会处理它
作为测试命令。 给定两个参数,第一个是初始化命令,
第二个是测试(意思是不考虑第一个命令的退出代码
帐户以确定测试是否成功)。 如果给定 `--linear` 或 `--bisect`
标志,它会尝试在存储库中找到通过测试的最新版本。

`--linear` 从头部开始线性搜索,远离头部。 这个
当测试运行非常快或您正在寻找的补丁接近时,策略是最好的
头部。

`--bisect` 进行二分查找。 当测试运行非常缓慢时,此策略最好
或者您正在寻找的补丁很可能在存储库的遥远过去。

`--backoff` 从头开始​​搜索,越往前越跳
直到测试成功。 然后它对跳过的那些子集进行二分搜索
补丁。 除非您正在寻找的补丁在
存储库的遥远过去。

在失败是单调的假设下,`--linear` 和 `--bisect` 产生
同样的结果。 (单调是指当远离头部时,测试结果
只从“失败”变为“确定”一次。)如果失败不是单调的,任何一个
随机发现破坏测试的补丁。

达克斯 显示 Contents [文件] ...
显示内容可用于显示某些文件的早期版本。 如果你给
显示内容没有版本参数,它显示文件的记录版本。

达克斯 显示 [文件|目录] ...
`darcs show files` 命令列出工作树中的那些文件和目录
受版本控制的。 此命令主要用于脚本目的; 结尾
用户可能想要`darcs whatsnew --summary`。

如果文件已添加但未记录,则该文件为“待处理”。 默认情况下,挂起的文件
(和目录)被列出; `--no-pending` 选项可以防止这种情况。

默认情况下,`darcs show files` 列出文件和目录,但别名 `darcs
show manifest` 只列出文件。 `--files`、`--directories`、`--no-files` 和
`--no-directories` 修改此行为。

默认情况下,每行一个(即换行符分隔)。 这可能会导致问题
如果文件本身包含换行符或其他控制字符。 四处走走
这样,`--null` 选项使用空字符代替。 脚本解释
这个命令的输出需要理解这个习语; `xargs -0` 就是这样一个命令。

例如,要按大小列出受版本控制的文件:

darcs 显示文件 -0 | xargs -0 ls -ldS

达克斯 显示 指数
`darcs show index` 命令列出所有受版本控制的文件和目录
以及存储在“_darcs/index”中的哈希值。 对于文件,字段对应
到文件大小,当前文件内容的 sha256 和文件名。
达克斯 显示 质朴
`darcs show pristine` 命令列出所有受版本控制的文件和目录
连同其原始副本的哈希值。 对于文件,字段对应于
文件大小、原始文件内容的 sha256 和文件名。
达克斯 显示 回购
`darcs show repo` 命令显示有关当前存储库的统计信息,
允许第三方脚本在不检查 `_darcs` 的情况下访问此信息
直接(并且不会在 `_darcs` 格式更改时中断)。

默认情况下,显示补丁数。 如果不需要此数据,请使用
`--no-files` 将这个命令从 O(n) 加速到 O(1)。

默认情况下,输出采用人类可读的格式。 `--xml-output` 选项可以是
用于生成机器后处理的输出。

达克斯 显示 作者
`darcs showauthors` 命令列出当前存储库的作者,排序
通过贡献的补丁数量。 使用 `--verbose` 选项,这个命令
简单地列出每个补丁的作者(没有聚合或排序)。

作者的姓名或电子邮件地址可能会随着时间而改变。 当多个时告诉 Darcs
作者字符串指的是同一个人,创建一个 `.authorspellings` 文件
工作树的根。 此文件中的每一行都以作者的规范开头
姓名和地址,后面可能是逗号分隔的扩展常规列表
表达式。 空白行和以两个连字符开头的行将被忽略。 这
`.authorspelling` 的格式可以用这个模式来描述:

姓名[, 正则表达式 ]*

有一些关于特殊字符的陷阱:空格被剥离,如果
您需要在正则表达式中使用 [] 空间。 因为逗号用作分隔符,所以您必须
如果你想在正则表达式中转义它。 注意`.authorspelling` 使用扩展的正则
表达式 so +, ? 等等都是元字符,你需要转义它们才能成为
从字面上解释。

任何具有与规范地址匹配的作者字符串的补丁或
相关的正则表达式被认为是该作者的作品。 所有匹配的是
不区分大小写和部分(它可以匹配子字符串)。 使用 ^,$ 匹配整个
正则表达式中的字符串

目前,此规范化步骤仅在“darcs show author”中完成。 其他
命令,例如`darcs log` 逐字使用作者字符串。

一个示例 `.authorspelling` 文件是:

——这是评论。
弗雷德·努克[email protected]>
约翰·斯内奇[email protected]>, 约翰, snagge@, js@(si|mit).edu
查克·琼斯\, Jr.[email protected]>, cj\+[email protected]

达克斯 显示 标签
tags 命令将存储库中所有标签的列表写入标准输出。

标签名称中的制表符(ASCII 字符 9)更改为空格以获得更好的效果
与 shell 工具的互操作性。 如果发生这种情况,将打印警告。

达克斯 显示 补丁索引全部
`darcs show patch-index all' 命令列出补丁索引中的所有信息
达克斯 显示 补丁索引文件
`darcs show patch-index files' 命令列出所有当前在
补丁索引
达克斯 显示 补丁索引状态
`darcs show patch-index-status' 报告补丁索引是否同步
同步,或不存在
达克斯 显示 补丁索引测试
`darcs show patch-index-test' 测试补丁索引

复制 补丁 之间 资料库 - 加工 复制 更新:
达克斯 [知识库] ...
Pull 用于将在另一个存储库中制作的补丁引入当前存储库
(即,当前目录中的那个,或者用
`--repodir` 选项)。 Pull 允许您带上所有或部分补丁
在那个存储库中,但不在这个存储库中。 Pull 接受参数,这些参数来自
要拉哪个,并且在不带参数的情况下调用时,拉将使用来自的存储库
您最近推或拉的。

默认 (`--union`) 行为是拉取任何补丁中的任何补丁
指定的存储库。 如果你指定了 `--intersection` 标志,darcs 只会
拉取所有源存储库中存在的补丁。 如果您指定
`--complement` 标志,darcs 只会拉取第一个存储库中没有的元素
存在于任何剩余的存储库中。

如果提供了`--reorder`,则只存在于当前的补丁集
存储库位于当前历史记录的顶部。 即使有,这也会起作用
没有新的补丁可以拉。

有关许多选项的详细说明,请参阅“darcs help apply”。

达克斯 [知识库] ...
Fetch 与 `pull` 类似,不同之处在于它不会将任何补丁应用于当前
存储库。 相反,它会生成一个补丁包,您可以稍后使用
`申请`。

fetch 的行为和 pull 基本类似,请参考
`拉`了解更多。

达克斯
Obliterate 从您的本地存储库中完全删除记录的补丁。 变化
将在您的工作副本中撤消,补丁将不会显示在您的更改中
不再列出。 请注意,您可能会因为删除而丢失宝贵的代码!

保存已删除补丁的一种方法是使用 -O 标志。 补丁包将是
在本地创建,您可以稍后使用 `darcs 将其应用到您的存储库
申请`。

达克斯 回滚 [文件|目录] ...
回滚用于撤消存储库中补丁的某些更改的影响。
选定的更改在您的工作副本中被撤消,但存储库被保留
不变。 首先,您可以选择要撤消哪些补丁,然后选择哪些更改
在补丁中撤消。

在执行 `rollback` 之前,您可能希望暂时撤消您工作中的更改
复制(如果有)并保存以备后用。 为此,您可以运行 `revert`,然后
运行 `rollback`,记录一个补丁,然后运行 ​​`unrevert` 将保存的更改恢复到
你的工作副本。

达克斯 [知识库]
推与拉相反。 Push 允许您从当前复制补丁
存储库到另一个存储库。

如果您提供 `--apply-as` 标志,darcs 将使用 sudo 将补丁应用为
不同的用户。 如果您想设置一个系统,其中多个用户
可以修改相同的存储库,但您不想允许他们完全写入访问权限。
这对于熟练的恶意攻击者来说并不安全,但至少可以保护您的
来自笨拙、无能或懒惰用户的存储库。

Darcs push 将默认压缩补丁数据,然后将其发送到远程
通过 ssh 定位。 只要远程 darcs 不早于版本,这就有效
2.5. 如果您收到表明补丁包损坏的错误,您应该再试一次
`--no-compress` 选项以未压缩的形式发送数据(这是很多
大补丁速度较慢,但​​应始终有效)。

达克斯 提交 [知识库]
发送用于准备可应用于目标的补丁包
存储库。 Send 接受存储库的 URL 作为参数。 被调用时
没有参数,发送将使用最近推送的存储库
到、拉出或发送到。 默认情况下,补丁包被保存到一个文件中,尽管
您可以直接通过邮件发送。

`--output`、`--output-auto-name` 和 `--to` 标志决定了 darcs 做什么
创建补丁包后。 如果你提供一个 `--output` 参数,补丁
捆绑包保存到该文件中。 如果指定`--output-auto-name`,补丁包
被保存到一个具有自动生成名称的文件中。 如果你给一个或多个
`--to` 参数,补丁包被发送到这些位置。 这些地点可能
补丁应该通过 HTTP 提交到的电子邮件地址或 URL。

如果您提供`--mail` 标志,darcs 将查看邮件的内容
目标存储库中的`_darcs/prefs/email`文件(如果存在),并发送补丁
通过电子邮件发送到该地址。 在这种情况下,您可以使用 `--cc` 选项来指定
其他收件人而不覆盖默认存储库电子邮件地址。

如果目标仓库中存在 `_darcs/prefs/post`,darcs 会上传到 URL
包含在该文件中,它可以是一个 `mailto:` URL,或者一个 `http://` URL。 在
在后一种情况下,补丁会发布到该 URL。

如果没有与存储库关联的电子邮件地址,darcs 将提示您输入
电子邮件地址。

使用 `--subject` 标志设置要发送的电子邮件的主题。 如果你不
在命令行中提供一个主题,darcs 将根据主题的名称组成一个
补丁包中的补丁。

使用 `--in-reply-to` 标志设置 In-Reply-To 和 References 标题
要发送的电子邮件。 默认情况下不包含其他标题,因此电子邮件不会
被邮件读者视为回复。

如果您想在补丁包中包含描述或解释,
您需要指定`--edit-description`标志,这将导致darcs打开
一个编辑器,您可以使用它编写消息以与补丁一起使用。

如果您想使用与默认命令不同的命令来发送电子邮件,您可以
需要使用 `--sendmail-command` 选项指定命令行。 命令行
可以包含一些由实际值替换的格式说明符。 公认
格式说明符是`%s` 表示主题,`%t` 表示to,`%c` 表示cc,`%b` 表示主体
邮件,`%f` 用于 from,`%a` 用于补丁包和相同的说明符 in
URL 编码值的大写。 此外,您可以在末尾添加 `%<`
命令行 如果命令需要标准输入上的完整电子邮件消息。 例如
进化和 msmtp 的命令行如下所示:

演变“mailto:%T?subject=%S&attach=%A&cc=%C&body=%B”
msmtp -t %

不要将 `--author` 选项与 `darcs send` 的返回地址混淆
为您的补丁包设置。

例如,如果您有两个电子邮件地址 A 和 B:

* 如果你使用 `--author A` 但你的机器配置为从
默认地址为 B,则您的消息的返回地址将为 B。 * 如果您
使用 `--from A` 并且您的邮件客户端支持设置
From:任意地址(一些非类Unix邮件客户端,尤其是,
可能不支持),则返回地址为A; 如果是这样
不支持,则返回地址为 B。 * 如果您不提供
`--from` 或 `--author` 然后返回
地址将是 B。

另外,除非你用`--sendmail-command`指定sendmail命令,darcs
使用计算机上的默认电子邮件命令发送电子邮件。 这个默认命令是
由`configure`脚本决定。 因此,在一些非类 Unix 操作系统上,`--from` 是
可能根本不起作用。

达克斯 应用 <补丁文件>
`darcs apply` 命令获取补丁包并尝试将其插入到
当前存储库。 除了直接在由`darcs 创建的包上调用它
send`,它由 SSH 连接远程端的 `darcs push` 在内部使用。

如果未提供文件,则从标准输入读取包。

如果给定电子邮件而不是补丁包,Darcs 会将该包作为 MIME 查找
该电子邮件的附件。 目前,如果重写 MIME 边界,这将失败,
例如在 Courier 和 Mail.app 中。

如果`--reply [email protected]` 选项被使用,并且捆绑被附加到
电子邮件,Darcs 将向发件人发送报告(指示成功或失败)
捆绑(“收件人”字段)。 noreply 的参数是报告的地址
似乎起源于FROM。

`--cc` 选项将导致报告被抄送到另一个地址,例如
`--抄送 [email protected],[email protected]`. 不使用`--cc`
`--reply` 未定义。

如果要使用不同于默认命令的命令来发送邮件,则需要
使用`--sendmail-command`选项指定命令行。 命令行可以
包含 to 的格式说明符 `%t`,您可以在末尾添加 `%<`
命令行 如果命令需要标准输入上的完整邮件。 例如,
msmtp 的命令行如下所示:

msmtp -t %

If GPG(1) 安装后,您可以使用`--verify pubring.gpg` 来拒绝那些
不是由“pubring.gpg”中的密钥签名的。

如果提供了 `--test` 并且定义了一个测试(参见 `darcs setpref`),则该包将
如果应用后测试失败,则被拒绝。 在这种情况下,拒绝电子邮件
from `--reply` 将包含测试输出。

补丁包可能会与现有补丁或与
工作树。 默认情况下,Darcs 将添加冲突标记(请参阅`darcs
标记冲突`)。

`--external-merge` 选项允许您使用外部合并解决这些冲突
工具。 在选项中,`%a` 被替换为共同的祖先(合并基),`%1`
使用第一个版本,`%2` 使用第二个版本,`%o` 使用路径
你解决的内容应该去。 例如,要使用 xxdiff 可视化合并工具
你会指定:`--external-merge='xxdiff -m -O -M %o %1 %a %2'`

`--allow-conflicts` 选项将跳过冲突标记; 这很有用,当你
想要将存储库视为一堆补丁,例如使用`darcs pull
--union` 在离线之前下载您的同事补丁。

这可能会弄乱工作树中未记录的更改,迫使您解决
立即发生冲突。 简单地拒绝引入未解决冲突的包,
使用`--dont-allow-conflicts` 选项。 将其设为基于推送的默认设置
强烈建议使用工作流。

与大多数 Darcs 命令不同,`darcs apply` 默认为 `--all`。 使用
`--interactive` 选项选择从包中应用哪些补丁。

达克斯 克隆 <知识库> [目录>]
克隆创建存储库的副本。 可选的第二个参数指定一个
新副本的目标目录; 如果省略,则从源推断
的位置。

默认情况下,Darcs 将从原始存储库中复制每个补丁。 这意味着
副本完全独立于原件; 您可以对新的存储库进行操作
即使原始文件无法访问。 如果您希望原始存储库
保持可访问性,您可以使用`--lazy`来避免在需要之前复制补丁
(“按需复制”)。 这在复制远程存储库时特别有用
你不在乎的悠久历史。

在本地克隆时,Darcs 会在可能的情况下自动使用硬链接。 同样
为了节省时间和空间,这可以移动或删除原始存储库
不影响副本。 硬链接要求副本位于同一位置
文件系统作为原始存储库,并且文件系统支持硬链接。
这包括 NTFS、HFS+ 和所有通用 Unix 文件系统(例如 ext、UFS
和 ZFS)。 FAT 不支持硬链接。

当从远程位置克隆时,Darcs 将寻找并尝试使用包
由远程存储库中的 `darcs optimize http` 创建。 包是单个大文件
可以下载而不是许多小文件,这使得克隆速度更快
HTTP。

Darcs clone 不会将未记录的更改复制到源存储库的工作树中。

您可以将存储库复制到 ssh url,在这种情况下,新存储库将始终
完整。

通常需要制作排除某些补丁的存储库副本。 为了
例如,如果发布被标记,那么`darcs clone --tag .` 将复制
存储库为最新版本。

未标记的存储库状态仍然可以通过上下文文件明确标识,
由`darcs log --context`生成。 给定此类文件的名称,`--context`
选项将创建一个仅包含来自该上下文的补丁的存储库。
当用户报告项目未发布版本中的错误时,建议使用
找出他们正在运行的确切版本的方法是让他们包括一个
错误报告中的上下文文件。

您还可以使用 `--to-patch` 或 `--to-match` 制作未标记状态的副本
选项,排除第一个匹配补丁*之后*的补丁。 因为这些
选项将补丁集视为有序序列,您可能会得到不同的结果
使用 `darcs optimize` 重新排序后,因此首选标记。

`--set-scripts-executable` 选项使脚本在
工作树。 脚本是任何以shebang(“#!”)开头的文件。

管理 存储库:
达克斯 初始化 [<目录>]
`darcs initialize` 命令将当前目录转换为 Darcs 存储库。
任何现有文件和子目录都成为未保存的更改:用 `darcs 记录它们
记录 --look-for-adds`。

该命令创建了 `_darcs` 目录,用于存储版本控制元数据。
它还包含 `_darcs/prefs/` 中的每个存储库设置,您可以阅读
在用户手册中。

默认情况下,新存储库的补丁在 darcs-2 语义中。 然而它是
可以使用标志`--darcs-1`以darcs-1语义创建存储库,
尽管除了与使用的项目共享补丁外,不建议这样做
darcs-1 语义中的补丁。

初始化通常缩写为`init`。

达克斯 优化 清洁
此命令删除存储库中的过时文件。
达克斯 优化 HTTP
使用此选项会创建可以显着加快速度的“存储库包”
当用户通过 HTTP 对存储库执行 `darcs clone` 时的性能。 使用
对于包,客户端必须具有至少 2.10 版的 darc。

达克斯 优化 重新排序
此命令将最近的补丁(那些未包含在最新标签中的补丁)移动到
“front”,减少了典型远程命令需要下载的数量。 它
还应该减少某些操作所需的 CPU 时间。
达克斯 优化 启用补丁索引
构建补丁索引,这是一种内部数据结构,可加速需要的命令
知道哪些补丁触及给定文件。 如注释和日志。
达克斯 优化 禁用补丁索引
从存储库中删除并停止维护补丁索引。
达克斯 优化 压缩
默认情况下,补丁使用 zlib (RFC 1951) 压缩以减少存储(和
下载)大小。 在特殊情况下,最好避免
压缩。 在这种情况下,可以使用 `--dont-compress` 选项(例如使用 `darcs
记录`)以避免压缩。

`darcs optimize uncompress` 和 `darcs optimize compress` 命令可用于
确保当前存储库中的现有补丁分别未压缩或
压缩。
达克斯 优化 解压
默认情况下,补丁使用 zlib (RFC 1951) 压缩以减少存储(和
下载)大小。 在特殊情况下,最好避免
压缩。 在这种情况下,可以使用 `--dont-compress` 选项(例如使用 `darcs
记录`)以避免压缩。

`darcs optimize uncompress` 和 `darcs optimize compress` 命令可用于
确保当前存储库中的现有补丁分别未压缩或
压缩。
达克斯 优化 重新链接
`darcs optimize relink` 命令硬链接当前存储库具有的补丁
与同行相同。 对等点是列出的那些存储库
`_darcs/prefs/sources`,或使用 `--sibling` 选项定义(可以使用
多次)。

Darcs 自动使用硬链接,因此很少需要此命令。 这是最
如果您使用 `cp -r` 而不是 `darcs clone` 来复制存储库,或者如果您
从远程存储库中提取相同的补丁到多个本地存储库中。
达克斯 优化 质朴
该命令更新了`_darcs/pristine.hashed/`的格式,不同的是
在 darc 2.3.1 之前。
达克斯 优化 升级
将旧式存储库转换为当前的默认散列格式。
达克斯 优化 缓存 <目录> ......
此命令删除全局缓存中的过时文件。 需要一个或多个
目录作为参数,并递归搜索这些目录中的所有存储库
目录。 然后它删除全局缓存中不属于这些的所有文件
存储库。 当没有给出目录时,它搜索用户家中的存储库
目录。

它还自动将全局缓存迁移到(默认)桶格式。

达克斯 修复
`darcs repair` 命令尝试修复当前存储库中的损坏。
目前它只能修复对原始树的损坏,这是最
发生腐败。 此命令通过连续应用
将存储库中的补丁修补到空树中。

标志`--dry-run`使这个操作只读,使darcs退出失败
(具有非零退出状态)如果重建的原始状态与当前不同
原始的。

达克斯 兑换 达克斯-2 <资源> [目的地>]
此命令将使用旧补丁语义“darcs-1”的存储库转换为
具有当前“darcs-2”语义的新存储库。

警告:此命令生成的存储库不被 Darcs 1.x 理解,并且
不能在 darcs-1 和 darcs-2 格式的存储库之间交换补丁。

此外,通过此命令的不同调用创建的存储库不应该
交换补丁。

达克斯 兑换 出口
此命令使您能够将 darcs 存储库导出到 git。

对于一次性导出,您可以使用以下配方:

$ cd 回购
$ git init ../镜像
$ darcs 转换出口 | (cd ../mirror && git fast-import)

对于使用标记文件的增量导出:

$ cd 回购
$ git init ../镜像
$ 触摸 ../mirror/git.marks
$ darcs 转换导出 --read-marks darcs.marks --write-marks darcs.marks
| (cd ../mirror && git fast-import --import-marks=git.marks
--export-marks=git.marks)

在增量导出的情况下,注意不要修改、删除或重新排序
源 darcs 存储库中的补丁。

另外,请注意,将 darcs 存储库导出到 git 不会完全忠实于
如果 darcs 存储库包含冲突,则历史条款。

限制:

* 快速导出协议不支持空目录。 * 统一码
当前未正确处理文件名。
参见 http://bugs.darcs.net/issue2359 .

达克斯 兑换 进口 [<目录>]
此命令将 git 存储库导入新的 darcs 存储库。 更多选项
被接受(参见`darcs help init`)。

要将 git repo 转换为新的 darcs,您可以运行:
$ (cd gitrepo && git fast-export --all) | darcs 转换导入 darcsmirror

警告:带有分支的 git 存储库会产生奇怪的结果,
使用风险自负。

当前不支持带标记文件的增量导入。

达克斯 变基 [知识库] ...
从另一个存储库复制和应用补丁,暂停任何本地补丁
冲突。
达克斯 变基 应用 <补丁文件>
应用补丁包,暂停任何有冲突的本地补丁。
达克斯 变基 暂停
选择要在 repo 结束时进入挂起状态的补丁。

达克斯 变基 取消暂停
要从暂停状态恢复到存储库结束的选定补丁。

达克斯 变基
消除当前挂起的补丁。

达克斯 变基 日志
列出当前暂停的更改。

环境


主页 应用程序数据
每个用户的首选项在 $HOME/.darcs(在 Unix 上)或 %APPDATA%/darcs(在 Windows 上)中设置。
这也是缓存的默认位置。

DARCS_EDITOR, DARCSEDITOR, VISUAL EDITOR
要编辑电子邮件评论的补丁描述,Darcs 将调用外部编辑器。 您的
首选编辑器可以设置为任何环境变量 $DARCS_EDITOR,
$DARCSEDITOR、$VISUAL 或 $EDITOR。 如果这些都没有设置, 编辑(1) 使用。

DARCS_寻呼机 PAGER
如果 Darcs 认为输出太长而无法显示在屏幕上,它有时会调用寻呼机。
Darcs 将使用 $DARCS_PAGER 或 $PAGER 指定的寻呼机。 如果两者都没有设置,
传呼机(1) 将被使用。

DARCS_DONT_COLOR, DARCS_ALWAYS_COLOR, DARCS_ALTERNATIVE_COLOR DARCS_DO_COLOR_LINES
如果终端理解 ANSI 颜色转义序列,darcs 将突出显示某些
打印补丁时的关键字和分隔符。 这可以通过设置关闭
环境变量 DARCS_DONT_COLOR 为 1。如果你使用的寻呼机碰巧明白
ANSI 颜色,如 `less -R`,可以通过设置强制 darcs 始终突出显示输出
DARCS_ALWAYS_COLOR 为 1。如果您看不到颜色,您可以将 DARCS_ALTERNATIVE_COLOR 设置为 1,
和 darcs 将使用 ANSI 代码来显示粗体和反向视频,而不是颜色。 此外,
有一个额外的多彩模式,默认不启用,可以激活
使用 DARCS_DO_COLOR_LINES

DARCS_DONT_ESCAPE_TRAILING_SPACES DARCS_DONT_ESCAPE_TRAILING_CR
默认情况下,darcs 将转义(如果可能的话,通过突出显示)末尾的任何类型的空格
显示补丁内容时的行数。 如果你不想要这个,你可以关闭它
将 DARCS_DONT_ESCAPE_TRAILING_SPACES 设置为 1。一种特殊情况只存在于运输
返回:DARCS_DONT_ESCAPE_TRAILING_CR

DARCS_DONT_ESCAPE_ANYTHING, DARCS_DONT_ESCAPE_ISPRINT, DARCS_DONT_ESCAPE_8BIT,
DARCS_DONT_ESCAPE_EXTRA DARCS_ESCAPE_EXTRA
将补丁内容打印到终端时,Darcs 需要转义某些字符。
退格等字符可以对用户隐藏补丁内容,以及其他
如果终端在某些情况下,字符序列甚至可以在某些情况下将命令重定向到 shell
允许它。

默认情况下,darcs 只允许可打印的 7 位 ASCII 字符(包括空格),并且
两个控制字符制表符和换行符。 所有其他八位字节都以引用形式打印
(如`^ ` 或 `\ `)。

Darcs 对语言环境的支持有限。 如果系统的语言环境是单字节
字符编码,如拉丁编码,可以设置环境变量
DARCS_DONT_ESCAPE_ISPRINT 为 1 并且 darcs 将显示当前的所有可打印文件
系统语言环境,而不仅仅是 ASCII 语言环境。 注意:这目前不适用于某些
如果 darcs 是用 GHC 6.4 或更高版本编译的。 一些非 ASCII 控件
字符可能会被打印出来,并且可能会欺骗终端。

对于多字节字符编码,事情就不那么顺利了。 如果您设置,UTF-8 将起作用
DARCS_DONT_ESCAPE_8BIT 到 1,但 7 位 ASCII 范围之外的不可打印的不是
越逃越远。 例如,来自 Latin-1 的额外控制字符可能会离开您的终端
受补丁内容的支配。 7 位 ASCII 范围之外的空格字符是没有的
不再被识别并且不会在行尾正确转义。

作为最后的手段,您可以将 DARCS_DONT_ESCAPE_ANYTHING 设置为 1。然后所有不
翻转代码集应该可以工作,终端中的所有花里胡哨也应该可以工作。 这个
如果您将输出通过管道传输到寻呼机或外部,环境变量也很方便
过滤器比 darcs 更了解如何处理您的编码。 请注意,所有逃逸,
包括任何行尾空格的特殊转义,将由此关闭
设置。

您可以设置两个环境变量来明确告诉 darcs 不要转义或
转义八位字节。 它们是 DARCS_DONT_ESCAPE_EXTRA 和 DARCS_ESCAPE_EXTRA。 他们的价值观
应该是由所讨论的逐字八位字节组成的字符串。 do-escapes 需要
优先于不转义。 空格字符仍然在行尾转义
尽管。 特殊环境变量 DARCS_DONT_ESCAPE_TRAILING_CR 关闭转义
回车最后就行(DOS 风格)。

DARCS_TMPDIR TMPDIR
Darcs 经常创建临时目录。 例如,`darcs diff` 命令创建
两个用于区分工作树。 默认情况下,临时目录创建在
/ tmp目录,或者如果不存在,则在 _darcs 中(在当前 repo 中)。 这可以
通过在文件 _darcs/prefs/tmpdir 或
环境变量 $DARCS_TMPDIR 或 $TMPDIR。

DARCS_KEEP_TMPDIR
如果定义了环境变量 DARCS_KEEP_TMPDIR,darcs 将不会删除
它创建的临时目录。 这主要用于调试 Darcs 本身,
但它也很有用,例如,确定您的测试偏好的原因(请参阅`darcs
setpref`) 在您运行 `darcs record` 时失败,但在手动运行时工作。

DARCS_EMAIL 邮箱地址
每个补丁都归属于其作者,通常通过电子邮件地址(例如,`Fred
博客[email protected]>`)。 Darcs 在几个地方寻找这个作者字符串:
`--author` 选项,文件 `_darcs/prefs/author`(在存储库中)和
`~/.darcs/作者`(在您的主目录中)和环境变量 `$DARCS_EMAIL`
和`$EMAIL`。 如果这些都不存在,Darcs 将提示您输入作者字符串和
把它写成`~/.darcs/作者`. 请注意,如果您有多个电子邮件地址,您可以
把它们都放在`~/.darcs/作者`,每行一位作者。 Darcs 仍会提示您输入
一个作者,但它允许您从列表中进行选择,或键入替代内容。

发邮件
在 Unix 上,`darcs send` 命令依赖于 发邮件(8). `--sendmail-command` 或
$SENDMAIL 环境变量可用于提供该程序的显式路径;
否则标准位置 /usr/sbin/发送邮件/usr/lib/发送邮件 将被审判。

DARCS_SLOPPY_LOCKS
如果在某些文件系统上出现以下错误:

darcs: takeLock [...]: atomic_create [...]: 不支持的操作

您可能想尝试导出 DARCS_SLOPPY_LOCKS=True。

DARCS_SSH
[user@]host:[dir] 形式的存储库被视为远程存储库,其中
Darcs 使用外部程序访问 SSH(1)。

环境变量 $DARCS_SSH 可用于指定备用 SSH 客户端。
可以包含参数,以空格分隔。 该值不被解释
shell,所以不能使用 shell 结构; 特别是,不可能
通过使用引用或转义来包含空格的程序名称。

DARCS_SCP DARCS_SFTP
从远程存储库读取时,Darcs 将尝试在
远程主机。 如果远程主机只安装了 Darcs 1,这将失败
完全安装 Darcs,或者只允许 SFTP。

如果传输模式失败,Darcs 将依靠 SCP(1)和 SFTP(1). 调用的命令
可以分别使用环境变量 $DARCS_SCP 和 $DARCS_SFTP 进行自定义,
其行为类似于 $DARCS_SSH。 如果远端只允许sftp,尝试设置
DARCS_SCP=sftp。

SSH_端口
如果设置了这个环境变量,它将被用作所有 SSH 调用的端口号
由 Darcs 制作(通过 SSH 访问远程存储库时)。 如果您的 SSH,这很有用
服务器不在默认端口上运行,并且您的 SSH 客户端不支持
ssh_配置(5). OpenSSH 用户可能更喜欢放置像`Host 这样的东西
*.example.net 端口 443` 进入他们的 的〜/ .ssh /配置 文件中。

HTTP_PROXY, HTTPS_代理, FTP_代理, ALL_PROXY 无代理
如果 Darcs 是使用 libcurl 构建的,则环境变量 HTTP_PROXY、HTTPS_PROXY 和
FTP_PROXY 可以在表单中设置为代理的 URL

[协议://] [:港口]

在这种情况下,libcurl 将使用相关协议(HTTP、HTTPS 和
FTP)。 环境变量 ALL_PROXY 可用于为所有 libcurl 设置单个代理
请求。

如果环境变量 NO_PROXY 是一​​个以逗号分隔的主机名列表,则访问
这些主机将绕过由上述变量定义的代理。 例如,它很
通常避免将请求代理到本地网络上的机器

NO_PROXY=localhost,*.localdomain

为了与 lynx 等人兼容,这些环境变量的小写等效项
(例如 $http_proxy) 也被理解并优先使用大写
版本。

如果 Darcs 不是用 libcurl 构建的,所有这些环境变量都会被默默忽略,
并且没有办法使用网络代理。

DACS_PROXYUSERPWD
如果 Darcs 是使用 libcurl 构建的,并且您使用的 Web 代理需要
身份验证,您可以将 $DARCS_PROXYUSERPWD 环境变量设置为用户名
和代理期望的密码,用冒号分隔。 这个环境变量是
如果 Darcs 不是用 libcurl 构建的,则静默忽略。

DARCS_GET_FOO DARCS_APPLY_FOO
当尝试访问 URL 以 foo:// 开头的存储库时,darcs 将调用
由 DARCS_GET_FOO 环境变量(如果定义)指定的程序来下载每个
文件,以及由 DARCS_APPLY_FOO 环境变量(如果已定义)指定的命令
推送到 foo:// URL 时。

此方法覆盖了获取 `foo://xxx` URL 的所有其他方法。

请注意,应构造每个命令,以便将下载的内容发送到
STDOUT,它的下一个参数应该是 URL。 下面是一些应该的例子
为 DARCS_GET_HTTP 工作:

取 -q -o -
卷曲 -s -f
lynx - 来源
wget -q -O-

除了这些玩具示例之外,您可能还需要操纵参数
在将其传递给实际的 fetcher 程序之前。 例如,考虑以下问题
在没有安装权限的情况下获得对 CIFS (SMB) 共享上的存储库的读取访问权限:

export DARCS_GET_SMB='smbclient -c get'
darcs 获取 smb://fs/twb/Desktop/hello-world

由于多种原因,上述命令将不起作用。 首先,Darcs 将通过它
以 `smb:` 开头的参数,smbclient 不理解。 其次,主持人
和 share `//fs/twb` 必须作为一个单独的参数提供给路径
`桌面/你好世界`。 第三,smbclient 要求`get` 和路径是单一的
参数(包括空格),而不是两个单独的参数。 最后,smbclient的
`get` 命令将文件写入磁盘,而 Darcs 期望它打印到标准
输出。

原则上,我们可以通过让变量包含一个 shell 来解决这些问题
脚本,不幸的是,Darcs 在空格上拆分命令并且不理解
引用或转义。 因此,我们需要将命令放在单独的、可执行的
脚本。

继续我们的 smbclient 示例,我们创建一个可执行脚本
`〜/ .darcs / libexec / get_smb` 具有以下内容:

#!/ bin / bash -e
IFS=/读取主机共享文件<<<'${1#smb://}'
smbclient //$host/$share -c 'get $file -'

最后我们可以说

导出 DARCS_GET_SMB=〜/ .darcs / libexec / get_smb
darcs 获取 smb://fs/twb/Desktop/hello-world

APPLY 命令将使用管道输入其标准输入的 darcs 补丁文件调用。

DARCS_CONNECTION_TIMEOUT
设置 darcs 允许和连接占用的最长时间(以秒为单位)。 如果变量
未指定默认为 30 秒。 此选项仅适用于 curl。

使用 onworks.net 服务在线使用 darcs


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。