问题标签 [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 预提交挂钩,用于避免 mcdon 更改标签子目录。
我想在提交之前对用户添加验证检查。我可以做下面的事情吗?
上述预提交脚本失败,因为所有用户都可以提交他们的文件。此外,'echo' 命令不起作用,因为我在上面没有看到任何 echo 语句。任何人都可以帮忙吗?
eclipse - 在 Eclipse 中,如何使用一种格式进行编辑并使用另一种格式提交
我团队中的每个人都使用相同的格式化程序设置,因此 SVN 存储库中的文件不会根据格式化进行更改。我不喜欢选择的格式,我几乎无法阅读。
是否有 Eclipse 插件或 Eclipse 中的设置会在编辑时自动将文件重新格式化为我自己的样式,然后在提交之前将文件重新格式化为我的团队设置?
我已经看到在提交之前应用当前格式的提示,但我希望它在提交之前应用其他格式。
svn - SVN 预提交钩子仅在 shell 脚本中验证子目录名称
我正在尝试添加一个预提交挂钩,以 yyyymmdd 格式验证子目录名称。它应该仅适用于特定目录而不适用于整个项目文件夹。请帮助编写挂钩脚本。
svn - SVN Hook 脚本执行
我正在使用一个 SVN 项目。任何人都可以说明使用 Cygwin 执行 SVN 预提交钩子脚本的方法和详细过程吗?先感谢您。
git - 运行预提交钩子后要执行什么?
对于修改暂存文件的预提交挂钩,我需要弄清楚在运行挂钩后必须暂存的内容。
预提交钩子在应该提交的文件上应用了一些漂亮的打印。该钩子执行以下任务:
- 用空格替换制表符
- 删除行尾的尾随空格
- 删除双空行*)
- 如果缺少,请在文件末尾添加一个空行*)
标有*)的操作是导致下述问题的操作。
完成这些之后,钩子将修改后的文件添加到索引中,使用git add $filename
. 这样,整个文件被暂存,我不再能够只提交修改文件的一小部分(即大块)。
当然,我可以git add --no-verify
绕过钩子,但是在使用git gui
. 另外,我希望在文件的分段行上应用漂亮的打印,所以绕过钩子不是我的目标。
有没有办法在应用漂亮打印后找出必须添加到索引中的内容,以便我可以在运行钩子后暂存正确的内容,而不是暂存整个文件?
编辑 1:
虽然David Brigada提供的答案看起来很有希望,但它不起作用:保持分阶段的更改完好无损(这是好的部分),但是(至少在 msysgit 上)它将所有更改放入存储中(不仅是未分阶段那些)。这会在将存储弹出回 WC 时导致合并冲突,因为暂存行可能会被修改。git stash --keep-index
编辑 2:David
的更新答案也没有成功,因为 git 拒绝将 stash 合并到一个脏 WC 中。
编辑 3:来自larsks
的回答指出我使用. 乍一看,这似乎是正确的,但我发现签入的版本是通过过滤器运行的,而 WC 与签入的版本不同,这很令人困惑。至少,这是我的经验,并得到Git Book中以下评论的支持:.gitattributes
如果您提交这些更改并再次签出文件,您会看到正确替换的关键字
我必须删除该文件,然后再次检查它以查看过滤器应用的更改?没门!还有更多提示吗?
svn - 如何对 SVN 中的特定文件夹使用预提交挂钩(Windows 批处理文件)?
我想在 SVN(即 Windows 的 .bat 文件)中创建一个预提交挂钩来检查空日志消息。此外,我只想针对 SVN 中的特定文件夹进行此检查。
有人可以帮忙吗?
问候, Ruhee Jaiswal
git - 使用预提交挂钩停止特定作者的 git 提交
我的计划是使用 git 来跟踪 /etc 中的更改,但是在提交时,我希望通过在命令行上添加 --author 选项来让进行更改的人将自己指定为作者。
所以我想以root身份停止意外提交。
我尝试创建这个预提交钩子,但它不起作用 - 即使我在提交行上指定了作者,git var 仍然返回 root。
python - Git预提交钩子:获取已更改文件的列表
我正在开发验证和 linting 实用程序以与各种提交挂钩集成,包括 Git 一个
https://github.com/miohtama/vvv
目前,每次提交时都会针对整个项目代码库运行验证器和 linter。但是,仅针对更改的文件运行它们会更加优化。为此,我需要知道我的 Git 预提交挂钩中的更改文件列表(在 Python 中)
https://github.com/miohtama/vvv/blob/master/vvv/hooks/git.py
我必须提取哪些选项来提取更改的文件列表(如果重要的话,在 Python 中)?
python - 无法使用 Windows 服务器使 SVN 预提交脚本失败
我正在编写一个 SVN pre-commit.bat 文件,该文件调用 Python 脚本来查询我们的问题跟踪系统,以确定用户提供的问题跟踪 ID 是否处于正确状态(例如“打开”状态)并与权限相关联项目。SVN 服务器正在运行 Windows(我认为是 2003 服务器 - 如果有问题,我可以与我们的 IT 小组联系......)。
问题是我似乎无法使 SVN 提交失败*;它总是成功的。AFAIK Python 脚本正在做它应该做的事情;它调用“sys.exit(1)”表示失败(调用“sys.exit(0)”表示成功)。对于 .bat 文件,我在这个论坛中改编了一些据说可以工作的例子,但到目前为止,还没有运气。这是稍微简化的 .bat 文件,
我再次知道脚本正在运行(即不是服务器上的环境变量问题),并且sys.exit(1)
代码正在被命中。此外,我很确定“err”函数正在运行,仅仅是“退出 1”返回码被 SVN 忽略了吗?
*注:不完全正确;我提交失败的唯一方法是 Python 脚本出现运行时错误。但是,在这种情况下,生成故意的运行时错误不是可接受的解决方法。
感谢您的关注。
svn - 用于 checkstyle 的 Svn 预提交钩子
这是我当前的 checkstyle shell 脚本。如果我在 TRUNK 上提交而不是在 Branches 上提交,它工作正常。我真的不明白为什么它不起作用。有人可以帮帮我吗?
谢谢!