小编Joa*_*ela的帖子

如何运行virtualenv python脚本作为git pre-commit钩子

这是我的预提交脚本:

#!/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的开发人员保持兼容)?

git virtualenv

7
推荐指数
1
解决办法
2655
查看次数

在MySQL中使用SELECT ... FOR UPDATE的死锁

假设我有桌子:

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)

mysql

6
推荐指数
1
解决办法
4018
查看次数

哈希对文本的微小变化稳定

是否存在对文本的微小变化稳定的哈希函数?我正在寻找与加密哈希相反的内容,其中源中的微小变化会导致结果发生巨大变化。

类似于文本的感知哈希。有这样的事吗?

编辑:“文本的微小变化”是指标点符号的变化、拼写/语法错误的更正等。文本本身是一篇文章,就像维基百科条目一样(但它可以小得多,比如 2 或 3 段)。

如果有人能指出 Python 实现,那就加分了。

algorithm hash

5
推荐指数
1
解决办法
686
查看次数

在验证输入字段之前引发HTML5表单中的事件.

在HTML5表单中的字段验证之前和提交此表单之前是否有任何事件?

AFAIK,提交事件是在提交表单之前提出的,但是在验证步骤之后,这个对我来说太晚了.

更新:我有一个带有"必需"属性的textarea,如果用户有JS,我想用HTML编辑器替换它.HTML编辑器将其内容与提交时的textarea同步(在验证步骤之后),因此对于浏览器,textarea始终为空.这就是我要求在验证之前触发事件的原因.将接受解决此问题的任何其他方式答案.

forms validation html5

5
推荐指数
1
解决办法
4314
查看次数

标签 统计

algorithm ×1

forms ×1

git ×1

hash ×1

html5 ×1

mysql ×1

validation ×1

virtualenv ×1