在闪存驱动器上使用Fossil SCM和主存储库?

时间:2017-01-20 03:56:53

标签: fossil

我是软件配置管理系统的新手,但我现在对使用Fossil感兴趣。我已经在几天内查看了文档,并且已经使用了一些程序,但是我仍然不确定如何最恰当地使用它来满足我的需求,所以我很感激任何人都会喜欢的建议提供以下使用方案。

我只在Windows环境中工作。我是唯一的开发人员,经常在一些相对较小的项目上工作。至少目前,我不希望大量使用分叉和分支功能 - 我认为我的代码开发通常会线性地进展。但我经常需要在许多通常独立的PC上访问和更新我的代码 - 也就是说,它们从不相互联网,甚至连互联网访问都没有。

我希望Fossil会以两种方式帮助我,跟踪我的代码库中的里程碑,包括提供轻松恢复以前版本以进行测试的能力,并使我尽可能简单,以确保我始终当我坐下来在任何特定的PC上工作时,我可以访问每个项目的所有代码版本。

为了实现第二个目标,我期望随着我从PC移动到PC,随身携带USB闪存盘。我希望这个Flash Drive应该包含许多存储库文件,我关注的每个项目都有一个。我希望当我坐在任何特定的PC上时,我应该能够从这个Flash Drive中提取我需要访问的任何项目的版本。同样,当我“完成”在这台PC上工作时,如果我希望保留我所做的任何更改,我希望我应该以某种方式将这些更改“提交”到闪存驱动器上的相关存储库中。但是,做到这一切最合适的方式对我来说还不清楚。

我理解Fossil通常用于在每台计算机的本地硬盘上使用项目存储库的本地副本,并在需要时通过网络或Internet连接远程访问主存储库。就我而言,在我看来,主存储库将是我的闪存驱动器上的相关存储库文件,但是当我的闪存驱动器插入我正在处理的机器时,其上的文件实际上是本地的,而不是远程的。因此,当我坐下来在PC上工作时,我是否应该将我需要处理的项目的存储库文件复制到PC的本地硬盘驱动器上,然后打开我需要从该存储库副本访问的代码版本,或者我应该直接从我的闪存驱动器打开项目存储库?另外,如果我应该将存储库复制到本地硬盘上,我应该只使用操作系统复制存储库文件,还是应该使用Fossil将其克隆到本地硬盘(我真的不明白这里的区别)?然后,当我在PC上完成工作时,如果我希望将我所做的任何更改合并到我的闪存驱动器上的存储库中,我应该将其直接更新到我的闪存驱动器上的存储库中,还是更新到存储库的副本中PC的本地硬盘?如果是后者,我应该简单地将更新的存储库文件复制到我的闪存驱动器上(覆盖以前的存储库文件),还是应该将更改“拉”或“推”到闪存驱动器上的存储库文件中 - 我是否可以这个,当基于硬盘的存储库和基于Flash Drive的存储库文件实际上是同一台PC上的本地文件时?我猜我在这里有点困惑......

以“正确”方式完成所有这些操作的另一个复杂因素通常是,当我在PC上完成工作时,我不想在PC上留下源代码或存储库的副本(即,客户的硬件)。我知道删除存储库的本地副本会破坏使用分布式SCM系统的冗余和备份优势,但我想我会通过在我自己的PC上保存存储库副本并确保我在闪存驱动器上备份存储库文件来解决这个问题。本身可靠。

因此,非常欢迎任何关于在上述场景中使用Fossil的最佳方式的想法,经验或建议,谢谢。

1 个答案:

答案 0 :(得分:0)

希望这仍然是实际的:)

我建议执行以下过程:

  1. 在您的USB驱动器上执行:

    mkdir化石-保存化石回购文件 mkdir src-保留您的项目文件。

  2. 转到化石文件夹并为项目A和B创建存储库

    cd化石 化石初始化石 化石初始b。化石

使用.fossil扩展名,因为这将简化以后使用回购协议的工作。

  1. 创建化石批处理文件以将化石作为服务器启动。

    SET REPO_PATH = X:\化石 SET FOSSIL_CMD =路径_fossil_exe / fossil.exe 启动%FOSSIL_CMD%服务器%REPO_PATH%--repolist --localhost --port 8089

  2. 启动mosaic_server.cmd,打开浏览器并转到localhost:8089 您将看到带有存储库的页面,因此您可以配置它们,编写Wiki /票证等。

  3. 转到src文件夹

    mkdir a mkdir b

    cd a 化石开放../../化石/化石 cd ../b 化石开放../../ fossil / b.fossil

因此,您在src / a,src / b中具有文件的初始存储库

  1. 将新文件添加到A / B项目并执行

    cd src / a 化石去除

    REM将新文件添加到存储库 化石承诺 REM提交更改。

现在,您可以在项目中添加/修改文件,提交文件并回滚。

只需使用:

fossil commit --tag new_tag 

为您的提交添加易于理解的标记,

有关https://fossil-scm.org/home/doc/trunk/www/quickstart.wiki的更多信息