subversion存储库中的增量格式是什么,如果我在预提交挂钩中更改它们,我会有多么糟糕?

Joh*_*n O 5 svn perl pre-commit delta

帮我做一些伤害!我已经厌倦了只有六个谷歌的点击,告诉我永远不要这样做.让我们把事情搞得一团糟!我很确定我可以获得db/transactions中的实际文件,那么我怎么能以有趣的方式搞砸这些呢?我看过SVN :: Delta,但是我甚至无法弄清楚它应该做什么(让某些人对存储库做出改变的漂亮图表?将编码消息发送给CIA?).

我真的不在乎听到更多的原因,为什么不这样做.我在40或50个使用颠覆的人的环境中工作.虽然我们正在编码,但我们需要在web.config文件中使用一些密码,在DataSource.groovy文件中,您可以命名.只是拒绝提交,因为我们离开他们就像地狱一样烦人.我们必须保存手动删除密码的文件(我们必须打开这些文件,它们不一定是开放的),然后一旦我们完成提交,我们必须将它们放回去继续工作?这是一个好主意,我想如果你只是想在每次犯下他们的时候讨厌人们,直到他们发展出一个从不犯下任何东西的巴甫洛夫反射.为什么?因为计算机不应该自动执行任务?因为软件客户端不知道预提交挂钩实际上没有将版本保存在开发人员的机器上?

我在这里与语言无关.给我看一个如何做你不应该做的事情的例子......我从预提交中编辑哪个文件?如何在DELTA ### line之后解释gobbledygook?是否有任何图书馆可以帮助解决这个问题?让我们玩得开心!

PS说真的,没有人创造过"坏主意"标签?WTF.

Red*_*ter 4

有缺陷的是您的构建过程,而不是 Subversion。如果您不得提交密码,请执行以下操作:

1 -Web.config不应提交文件。相反,提交类似Web.config.dev或 的文件Web.config.qa
2 - 让构建脚本将相应的 .config 文件重命名为Web.config,然后进行令牌替换,以便插入正确的密码。此信息可以来自另一个未提交的文件,该文件说明您所处的环境(因此它知道要使用哪个 .config 文件)以及密码是什么。

  • @约翰我不认为你在关注我。您未提交的文件由构建脚本自动生成。唯一不是由签出或构建脚本创建的文件是密码文件,该文件未明确作为您的要求提交。同样,您的部署脚本会为您创建 web.config。 (2认同)
  • @JohnO:不,他告诉您对文件进行版本控制,除非插入密码,然后让自动化过程插入密码。有点像如何控制“.c”文件的版本,但不控制生成的“.o”。 (2认同)
  • @John 听起来您有开发人员、流程和系统(或桌面)管理问题。这些超出了这个问题的范围,但都是可以解决的。IMO,通过搞乱 SVN 内部结构,你正在制造另一个问题,而不是解决任何问题。 (2认同)