问题标签 [pre-commit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - 在 svn 中添加/删除文件/文件夹的用户权限
我有一个要求,我需要控制在 svn 中添加/删除(而不是读取/修改/写入)文件的权限。我检查了 svn 访问控制是否有办法做到这一点。但它似乎没有这种限制。
我正在检查一些可以执行此操作的预提交,并且 svnperms 挂钩具有此功能。但是它也有类似的访问控制实现,所以我不确定我是否想将它与访问控制脚本结合使用。
那么我可以对实现用户添加/删除权限的最佳方式提出一些建议吗?
mysql - mysqldump 仅模式,模式更新不删除
我正在考虑在提交更改之前使用 git pre-commit 挂钩导出 MySQL 数据库模式,以便其他开发人员可以使用 git repo 中的 SQL 脚本更新他们自己的数据库。
默认情况下,mysqldump(我正在使用--no-data)将在重建现有表之前删除它们,这不是我想要的。我想知道是否有人知道一种方法来执行 mysqldump 或类似的方法来使用 SQL 描述数据库模式以更新表(如果它们存在而不是删除和重建)。我意识到这可能是一个长镜头,但如果有人能指出我正确的方向,那就太好了。
svn - 在 svn 和 git 中提交时如何添加命令行提示符作为 $EDITOR
是否可以有一个小的 shell 脚本来替换$EDTIOR
for git 和 svn?
因此,当不熟悉 vi 或 emacs 的人进行提交并忘记添加
-m "fixed the foo bug"
参数时,它不会打开编辑器,他们不知道如何退出,而是只会提示
请证明此提交包含的内容:
用户只需写一个小句子,按回车键,然后就关闭了。
svn - SVN - 在开始提交挂钩中获取提交大小?
实际上,我在预提交挂钩中检查了提交的大小。但是在我可以拒绝预提交之前提交所有文件。
例如,如果大小限制为 10 MB,而用户发送 1 GB 文件,则 1 GB 将完全传输到我的服务器,然后 pre-commit 挂钩将拒绝该事务。
如果在所有文件传输到服务器之前提交大小大于存储库限制,我想拒绝事务。
这怎么可能?
cherry-pick - 如何找出签出文件来自哪个提交
当我签出一个文件时git checkout $commit $filename
,我忘记了$commit
,但仍然记得$filename
,我如何找出是什么$commit
?
svn - 有没有办法在颠覆提交中自动恢复?
提交时我经常遇到事务错误。据我所知,这些是提交中途失败的结果。有没有办法,最好使用一个 GUI,比如 TortoiseSVN,它会在失败的地方自动恢复提交,并继续重试直到所有内容都提交?
提交失败的示例:
提交失败(详情如下):PUT of '/svn/namcloud/!svn/wrk/02b0f9ff-2510-a147-892a-2ee0b7b442dc/src/sites/all/modules/globalredirect/LICENSE.txt':无法读取响应正文:远程主机强行关闭现有连接。(http://XXX.XXX.XXX)
git - 如何测试当前提交而不是工作树?
我正在尝试设置一个预提交挂钩以在任何提交通过之前测试我的项目,但我找不到如何确保只测试 HEAD(带有当前提交的补丁)而不是当前的 working_tree (在大多数情况下,这对我来说很脏)。
找到的解决方案:
找到此链接并最终执行以下操作。
http://newartisans.com/2009/02/building-a-better-pre-commit-hook-for-git/
perl - 颠覆存储库中增量的格式是什么,如果我在预提交挂钩中更改它们,我能把它搞砸到什么程度?
帮我做一些伤害!我已经厌倦了仅仅六次谷歌点击告诉我永远不要这样做。让我们把事情搞砸!我很确定我可以获取 db/transactions 中的实际文件,那么我怎样才能以有趣的方式搞砸这些呢?我看过 SVN::Delta,但我什至无法弄清楚它应该做什么(让某人对存储库进行更改的漂亮图表?向 CIA 发送编码消息?)。
我真的不想听到更多为什么不这样做的理由。我在一个有 40 或 50 个人使用颠覆的环境中工作。当我们编码时,我们需要一些密码在 web.config 文件中,在 DataSource.groovy 文件中,你可以命名它。仅仅因为我们把它们留在里面而拒绝提交就像地狱一样烦人。我们必须用手动删除的密码保存文件(我们必须打开这些文件,它们不一定是打开的),然后一旦我们完成提交,我们必须把它们放回去才能继续工作?我想这是一个好主意,如果你只是想在他们每次承诺时都给他们打屁股,直到他们发展出巴甫洛夫反射,从不承诺任何事情。为什么?因为计算机不应该自动执行任务?因为软件客户端不会知道预提交钩子没有
我在这里相当语言不可知论者。向我展示一个如何做你永远不应该做的事情的例子......我应该从预提交编辑哪个文件?我如何解释 DELTA # # # 行之后的 gobbledygook?有没有图书馆可以帮助解决这个问题?让我们玩得开心!
PS说真的,没有人创建一个“坏主意”标签?哇。
git - 版本控制的托管解决方案——带有预提交钩子?
任何人都可以为 SVN、Git 或 Mercurial(首选)建议一个提供配置某些预提交挂钩的能力的托管解决方案吗?例如,当 JS 提交时,我希望它通过 JSLint。或者如果 PHP 被提交,我希望它通过某些编码约定。
建议?
android - 我可以在提交时使用 cygwin 和 bash 脚本来更新 Android 清单吗?
我发现这个链接https://stackoverflow.com/questions/6579697/android-how-to-make-the-versioncode-update-automatically-with-every-build包含以下代码:
但是,我正在使用带有 Windows SVN 服务器的 TortoiseSVN(VisualSVN),所以我想知道是否可以将其放入 cygwin 命令中,以便 svn 中的预提交挂钩可以运行它?我没有太多使用 cygwin,但我正在寻找一种方法来在每次构建提交时更新我的版本名称。
编辑:实际上看起来您可以使用名为 FART http://fart-it.sourceforge.net/的工具来查找和替换文本,所以我可以在 SVN 预提交中编写一个批处理脚本来查找和替换文本。
编辑#2:FART 会更复杂,我将尝试使用第一个脚本,但将“git add”替换为“svn add”,看看是否有效