Version control 如何做';化石';相对目录上的命令?

Version control 如何做';化石';相对目录上的命令?,version-control,fossil,Version Control,Fossil,我想把我的linux配置保存在化石scm系统中 以下是我在最初阶段所做的 $ cd / $ fossil new b.fsl $ fossil open b.fsl $ fossil add etc/group $ fossil add boot/grub/menu.lst $ fossil ci -m 'init commit' 我想做(像hg/git一样操作)这样的事情 它将显示错误消息: fossil: current directory is not within an open ch

我想把我的linux配置保存在化石scm系统中

以下是我在最初阶段所做的

$ cd /
$ fossil new b.fsl
$ fossil open b.fsl
$ fossil add etc/group
$ fossil add boot/grub/menu.lst
$ fossil ci -m 'init commit'
我想做(像hg/git一样操作)这样的事情

它将显示错误消息:

fossil: current directory is not within an open checkout
所以,我的解决方案是

$ cd /
$ fossil status etc/group
$ fossil add etc/motd
$ fossil add /etc/motd # this line will cause problem
对于我的git/hg经验来说,它应该是有效的

$ cd /
$ hg init
$ hg add etc/group boot/grub/menu.lst
$ hg ci -m 'init commit'
$ cd etc
$ hg status group  # it works
$ hg add motd # it works too
在命令之前

$ fossil new b.fsl
$ cd etc
键入命令

$ fossil new b.fsl
$ cd etc
如果要将化石回购存储在另一个文件夹中,请更改命令

$ fossil new b.fsl
$ fossil open b.fsl

在命令之前

$ fossil new b.fsl
$ cd etc
键入命令

$ fossil new b.fsl
$ cd etc
如果要将化石回购存储在另一个文件夹中,请更改命令

$ fossil new b.fsl
$ fossil open b.fsl

当当前目录设置在签出的目录树中时,必须执行所有提到的命令“add”和“status”以及所有与签出相关的命令

您不能自己将签出目录指定为命令行选项

fossil中似乎存在一个bug(或故意引入的特性),阻止它搜索打开的签出文件(“.fslchkout”或“fossil”),直到根目录。这就是为什么在这种情况下,当您在此签出上执行命令时,必须在根目录中

当然,在这种情况下,化石的所有执行都必须具有root权限。否则,即使在根目录中,也会出现“不在签出范围内”错误

当当前目录设置在签出目录树的某个位置时,必须执行所有提到的命令“添加”和“状态”以及与签出相关的所有化石命令

您不能自己将签出目录指定为命令行选项

fossil中似乎存在一个bug(或故意引入的特性),阻止它搜索打开的签出文件(“.fslchkout”或“fossil”),直到根目录。这就是为什么在这种情况下,当您在此签出上执行命令时,必须在根目录中


当然,在这种情况下,化石的所有执行都必须具有root权限。否则,即使在根目录中,也会出现“不在签出范围内”错误

我衷心推荐的
用户指南中详细介绍了这种情况

具体请参见
fossilbook.pdf
的2.0版,第2节,题为“单一用户”,该节从以下内容开始:

我有一个名为“化石”的目录,其中保存了我所有的存储库,化石并不在意,但它帮助我将它们保存在一个地方,以便我可以备份它们

其中的第一个命令显示了如何调用相对目录:

$ fossil new ../FOSSIL/FossilBook.fossil

用户指南
详细介绍了这种情况,我衷心推荐

具体请参见
fossilbook.pdf
的2.0版,第2节,题为“单一用户”,该节从以下内容开始:

我有一个名为“化石”的目录,其中保存了我所有的存储库,化石并不在意,但它帮助我将它们保存在一个地方,以便我可以备份它们

其中的第一个命令显示了如何调用相对目录:

$ fossil new ../FOSSIL/FossilBook.fossil


我想保留etc子目录名。我不理解你的评论。我不是建议您更改/etc目录的名称!我想保留信息/etc//boot/…,在hg/git中,它将检查祖先目录以获取相关目录信息。也许您可以编辑您的问题,以澄清问题是什么,以及为什么我建议的解决方案不能解决问题。你的评论太简短,我无法理解。我想知道如果我有很多子目录,我是否应该强制写完整的文件名,我认为这不是一个明智/正确的方法。我想保留etc子目录名。我不理解你的评论。我不是建议您更改/etc目录的名称!我想保留信息/etc//boot/…,在hg/git中,它将检查祖先目录以获取相关目录信息。也许您可以编辑您的问题,以澄清问题是什么,以及为什么我建议的解决方案不能解决问题。你的评论太简短,我无法理解。我想知道如果我有很多子目录,我是否应该强制写完整的文件名,我认为这不是一个明智/正确的方法。我已经在Open directory下指定了add stat。这些命令在子目录下运行良好,但在根目录下运行。啊,我现在知道了。这似乎是化石中的一只虫子。当该文件位于根目录中时,它无法正确搜索文件“.fslchkout”,该文件指示打开的签出。我已在打开的目录下指定了add stat。这些命令在子目录下运行良好,但在根目录下运行。啊,我现在知道了。这似乎是化石中的一只虫子。当该文件位于根目录中时,它无法正确搜索文件“.fslchkout”,该文件指示打开的签出。您能指出哪个部分具有相同的情况吗?我曾经读过这本书的旧版本。@DanielYCLin,除非我误读了这个问题,否则第2节有一些例子(见我上面的编辑)。这个问题的关键点是“/”。根目录问题。@DanielYCLin,好的,也许可以在你的问题中澄清这一点,这样其他人可能会从中受益,并且得到答案?你能指出哪个部分有相同的情况吗?我曾经读过这本书的旧版本。@DanielYCLin,除非我误读了这个问题,否则第2节有一些例子(见我上面的编辑)。这个问题的关键点是“/”。根目录问题。@DanielYCLin,好的,也许可以在你的问题中澄清这一点,这样其他人可以从中受益,答案是什么?