这是我的预提交脚本:
#!/bin/bash
for f in .git/hooks/pre-commit.d/*; do
if [ -x "$f" ]; then
if ! "$f"; then
echo "DID NOT COMMIT YOUR CHANGES!";
exit 1
fi
fi
done
Run Code Online (Sandbox Code Playgroud)
pre-commit.d中的一个可执行文件是一个python脚本(pre-commit-pylint.py),它以:
#!/usr/bin/env python
import pylint
Run Code Online (Sandbox Code Playgroud)
pylint安装在我的virtualenv上.我的问题是混帐运行预提交前面加上/usr/libexec/git-core:/usr/bin来$PATH,所以即使我的virtualenv被激活pre-commit.d/pre-commit-pylint.py脚本系统运行/usr/bin/python(而不是与蟒蛇的virtualenv运行).
我想拥有与不使用virtualenv的开发人员兼容的钩子.有没有办法透明地运行我的python脚本与virtualenv(即,与使用他们的系统python的开发人员保持兼容)?
假设我有桌子:
CREATE TABLE t (id INTEGER AUTOINCREMENT NOT NULL, desc TEXT NOT NULL)
Run Code Online (Sandbox Code Playgroud)
我用1个元素填充表格:
INSERT INTO TABLE t VALUES (1, 'Hello')
Run Code Online (Sandbox Code Playgroud)
我在MySQL中运行两个事务.在t1我跑:
START TRANSACTION;
SELECT * FROM t WHERE id = 1 FOR UPDATE;
Run Code Online (Sandbox Code Playgroud)
在t2我跑:
START TRANSACTION;
SELECT * FROM t WHERE id = 1 FOR UPDATE;
Run Code Online (Sandbox Code Playgroud)
此时我希望t1在行上保持一个e(X)集群锁,并t2等到它可以获得X锁(并且t2确实被阻塞,到目前为止一直很好).然后我运行更新t1(没有任何WHERE子句!):
UPDATE t SET desc = 'Hello from t1';
Run Code Online (Sandbox Code Playgroud)
此时t2我立即得到(不需要COMMIT事务)错误:
ERROR 1213 (40001): Deadlock found when trying …Run Code Online (Sandbox Code Playgroud) 是否存在对文本的微小变化稳定的哈希函数?我正在寻找与加密哈希相反的内容,其中源中的微小变化会导致结果发生巨大变化。
类似于文本的感知哈希。有这样的事吗?
编辑:“文本的微小变化”是指标点符号的变化、拼写/语法错误的更正等。文本本身是一篇文章,就像维基百科条目一样(但它可以小得多,比如 2 或 3 段)。
如果有人能指出 Python 实现,那就加分了。
在HTML5表单中的字段验证之前和提交此表单之前是否有任何事件?
AFAIK,提交事件是在提交表单之前提出的,但是在验证步骤之后,这个对我来说太晚了.
更新:我有一个带有"必需"属性的textarea,如果用户有JS,我想用HTML编辑器替换它.HTML编辑器将其内容与提交时的textarea同步(在验证步骤之后),因此对于浏览器,textarea始终为空.这就是我要求在验证之前触发事件的原因.将接受解决此问题的任何其他方式答案.