Articles of 版本控制

有没有办法将未版本化的所有文件和目录添加到SVN存储库?

有没有办法执行svn add命令,将只添加未版本化的文件? 目前如果我试图做svn add一个包含版本和未版本文件混合的direcotry我收到mydir/ is already under version control消息。

Mercurial的Mac OS X部署中的hgweb.cgi在哪里?

我想从我的OS X机器上提供一个基于CGI的Mercurial存储库,但我不能在我的生活中findhgweb.cgi文件,我认为这是该过程的第一步。 我的Mercurial安装来自OSX二进制包安装,位于/usr/local 。 python库安装在/Library/Python/2.5/site-packages/mercurial : (~): find /Library/Python/2.5/site-packages/mercurial -name hgweb* /Library/Python/2.5/site-packages/mercurial/hgweb /Library/Python/2.5/site-packages/mercurial/hgweb/hgweb_mod.py /Library/Python/2.5/site-packages/mercurial/hgweb/hgweb_mod.pyc /Library/Python/2.5/site-packages/mercurial/hgweb/hgweb_mod.pyo /Library/Python/2.5/site-packages/mercurial/hgweb/hgwebdir_mod.py /Library/Python/2.5/site-packages/mercurial/hgweb/hgwebdir_mod.pyc /Library/Python/2.5/site-packages/mercurial/hgweb/hgwebdir_mod.pyo 给定这个设置,我需要做什么来服务一个或多个存储库?

我想版本控制我的整个切片

我正在从Slicehost租用一片(即一个VPS)。 我花了一两天的时间用我最喜欢的软件包/etc填充/usr ,configuration文件和init脚本,等等。 现在我想: 将整个设置保存在某个地方(例如,加载到另一台机器上)。 看看我对哪些文件做了哪些修改 恢复更改,标记修订和所有其他好的版本控制的东西 保存磁盘映像给我(1),但不是(2)和(3)。 使用Subversion( svn import / svn://someotherhost )可能会给我所有这三个,但是如果我真的尝试检查一个项目到/并在根目录下维护.svn目录,我预计会出现问题。 而要加载我的设置到一个新的切片,我需要先安装一个svn客户端。 有没有一个很好的方法来做我想做的事情?

Linux系统configurationpipe理:版本控制和部署

我正在寻找最好的方法(用于我的目的和情况)来对系统configuration文件进行版本pipe理,并且在两台机器(活动和备份,都应该被视为'生产')之间pipe理部署(所有权和模式)。 我希望能够使用此系统自动(但有select地)复制和pipe理备份机器(EC2实例)上的相关和指定的configuration。 目前,这些机器主要是networking和SMTP服务器(我们不存储用户邮箱),但是我们的项目正在增长,谁知道未来的需求可能会是什么。 例如,我们有可能在未来某个时候实施无线电和基于networking的聊天。 我更喜欢按照惯例pipe理服务器(即根据需要进入并对现场服务器进行更改),然后将这些更改(一旦安置)存储在pipe理系统中。 (好吧,如果我是诚实的,我应该有机地说:我不想失去灵活性来做需求和情况需求的东西。)我find了这种方法,而不是部署在其他地方进行调整和testing的configuration,更具可预测性,而且可能会带来更less的惊喜(除了在现场系统上搞乱configuration的可能性之外,就是!) 我从哲学的angular度认识到,这是回到前面,如果我有资源(testing基础,更重要的是人力),我可能会反过来做。 事实上,我必须要做我所做的。 我非常喜欢结构,但是过多的基础设施本身就是一种生活,在某种程度上它的价值已经丧失。 我已经做了一些家庭作业,并回顾了几个选项,但他们都没有真正做我想要他们,所以我目前试图推出我自己的解决scheme。 这个问题的目的是为了看看我没有想到的,并在我吠错了树之前进行理智检查。 选项 像Puppet这样的声明性元configuration系统可能是很好的select,因为许多服务器在这些服务器之间很less或根本没有区别,特别是在提前清楚configuration应该是什么样的情况下。 我不认为在没有基础架构的情况下使用这样的工具是明智的。 这也有点沉重,过于复杂。 我是唯一的pipe理者,我在业余时间做这个事情,如果我留下来的事情发生在我身上,对于那个走在我身后的幸运男人/女孩,我们应该是合理的。 etckeeper可能会这样做,但据我所知,它并不适用于除/ etc以外的任何其他pipe理。 也就是说,它不适合存储自定义脚本,这些自定义脚本通常位于/ usr / local / bin中。 此外,etckeeper大概pipe理所有 / etc,我认为我宁愿只版本特定的东西(如后缀,Apache,fail2ban,SSH和可能munin)。 一个简单的git或svn回购肯定不会,因为当git跟踪权限时,它不会跟踪所有权,并且svn也不跟踪。 svn在每个被跟踪的目录中保存一个.svn子目录,而.git仅存在于工作副本的根目录中。 这两种情况都有好处和坏处。 在某些地方存在一个.svn目录可能在某些地方是可以的(例如/ etc / apache2 / sites-enabled),但在其他地方打乱了大脑死亡的脚本/工具。 (我确定我读了一些东西:cron是否可以在/etc/cron.d中使用.svn目录,但是depmod不是使用/ lib / modules?) 另一方面,在/ .git中,git认为所有的事情都是跟踪的候选者,甚至(大概)其他git回购! 定制解决scheme 这是我打算做的:在主机上存储的一个颠覆回购(比如/ usr / local / sc-repo)和一个用Pysvn写的pipe理脚本,它实现了以下function: 添加(但默认情况下,不recursion),将文件的模式和owership存储为自定义属性。 另外,我喜欢在我的configuration文件$Id$标签,所以这将确保svn:keywords设置正确。 承诺 更新,写入文件后应用所有权和模式 还原,同上 烫发,像差异,但所有权和模式,修复标志如果需要更正。 […]

以任何方式为现有对象启用Amazon S3版本?

我在AWS S3 Object Versioning上读到的所有信息都特别提到了这一点: 在设置版本控制状态之前存储在存储桶中的对象的版本ID为null。 启用版本控制时,存储桶中的现有对象不会更改。 Amazon S3在将来的请求中如何处理对象有哪些变化。 本节中的主题介绍启用版本控制的存储桶中的各种对象操作。 资源 我目前在一个桶中有大约2TB(370K个对象)的数据。 我的理解是,如果我现在打开版本,那么未来的对象将会被版本化。 我的问题:现有的物体呢? 我坚持没有他们没有版本或有没有一种方式来版本他们没有下载/重新上传? 我在Google Fu上找不到任何信息,所以想在这里集合一下。 谢谢。

在从networking下载MSI之前,组策略是否检测到安装的版本?

我使用组策略来部署一个Adobe Reader X .msi文件,该文件成功更新了目标机器。 这些机器所属的计算机组仍然有一个链接到部署.msi 的GPO 。 .msi文件在运行新安装之前检查已安装软件的版本,还是Windows或AD服务? msi文件安装后是否保留在计算机上? 我问,因为我担心,如果它是检测如果软件已经安装,如果msi文件没有保存在计算机上的msi文件,msi文件是否继续被复制到机器每次重新启动 ?

将多个svn版本库迁移到一个git版本库中

我们希望永远从svn迁移到git,以便能够在分支和协作方面使用git的更好function。 我们目前的svn仓库看起来像这样 svnrepo/ frontend/ trunk branches/ ng/ … tags/ 1.x … backend/ trunk branches/ ng/ … tags/ 1.x … 工作布局是我们签出前端项目,在这里,我们创build一个后端文件夹,并签出后端项目。 我们现在想要迁移到git,并放弃前端和后端之间的分裂(就分开的项目而言),因为这给我们带来了更多的问题而不是优点。 我们希望他们都在一个单一的仓库。 我想使用svn2git进行转换。 不幸的是最新的发展发生在一个分支,而不是在树干,但我认为这不应该是svn2git的问题。 所以新的git仓库布局应该如下所示: / => svnrepo/frontend/branches/ng /backend => svnrepo/backend/branches/ng 其中=>表示“从…迁移/转换”。 对于转换,我们没有必要将所有标签和分支从svn仓库转换到git。 这对我们并不重要。 然而重要的是,我们拥有所有提交到分支/ ng目录中的所有文件的完整历史logging,并返回到主干中的分支以及在主干中发生的所有提交。 我们希望所有这些提交都是在单个git存储库中提到的布局。 这甚至有可能吗? 我们将如何做到这一点? 我已经search谷歌,也在1,2 ,但无法find我们的问题的确切解决scheme。

用于pipe理IIS / Windows环境的代码部署/版本的工具

我在Linux和OSX方面有着很强的背景,刚刚离开了一个工作,我正在devise基于这些平台的系统。 现在我已经有了一个运行IIS的Windows服务器,它拥有许多不同的网站。 他们大多数只是一堆HTML,JS和图像,一些客户工具的ASP。 (每个网站都有一套不同的客户工具,或者它们是相同的工具,但是它们之间的代码变化很小)。我还使用相同的代码添加了一个开发Web服务器,但却是“最先进”的东西。 我需要一个有效的方法来pipe理整个代码库的变化和更新(以下同时提到所有站点的图像,html和asp)。 当开发人员(或网站pipe理员)检查更改时,我希望它自动显示在开发人员服务器上,但应手动推送到实时服务器。 我会试图制作网站的SVN仓库,但我会担心让开发人员不得不login服务器,并通过命令行/ tortise(和天堂禁止,pipe理标签)触发SVN更新的开销。 理想情况下,我也会pipe理系统之间的IISconfiguration文件设置,但主要的需要是能够pipe理过程,并将其公开给我们的ASP开发人员和我们的网站pipe理员,这两者都习惯于将文件现场。 那么,对工具的任何build议(超越一些SVN黑客与BAT文件+教导网站pipe理员如何login到服务器,并做更新)或工作stream程,将有助于这件事? 我甚至考虑过一个RPMtypes的软件包(当然还有一些与Windows相同的软件包)来pipe理活动的服务器,但是这似乎有点太多了。 谢谢。

VisualSVN如何存储密码?

我们正在运行一个VisualSVN服务器,需要创build约300个用户。 由于大规模创build用户的需求很可能会再次发生,因此我不希望使用数据录入任何人来创build帐户。 我find了以下forms的htpasswd: test:$apr1$5tf$V0ImysKrNpxE6XW5QwyLd0 我已经编辑了过去使用MD5hex的其他应用程序/服务器的密码文件,这显然不是。 这是什么algorithm?

厨师节点和angular色的版本控制

在使用厨师时,版本控制节点和angular色是不是很好的做法? 如果是的话,有什么好办法呢? 它看起来像一个应该能够采取使用chef_server_backup.rb创build的JSON文件的树,只需将其检查到VC。 有更好的select吗? 更新 事实certificate,检查由chef_server_backup.rb生成的JSON 不是一个好的解决scheme。 问题是脚本产生的JSON不稳定。 每次哈希以不同的顺序出现,生成的文件与以前的版本完全不同…即使它们在parsing为JSON时意味着相同的东西。 我会更好的保存压缩tarballs。 (但是如果我可以通过sorting属性来规范化JSON文件…)