标签: hook

用户运行git hook的是什么?

我的服务器上有一个更新后的挂钩,这样当我

git push
Run Code Online (Sandbox Code Playgroud)

它会对实时网络目录进行拉动.但是,虽然推送总是成功,但更新后的挂钩有时会失败.

钩子非常简单:

#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
cd /var/www
env -i git pull
Run Code Online (Sandbox Code Playgroud)

我正在推动来自各个地方的更新,但有时我必须在服务器上以root用户身份登录,并且manuall会做一个

env -i git pull
Run Code Online (Sandbox Code Playgroud)

我只需要做20%的时间.任何想法为什么会随机失败?另外,如何记录错误消息,因为它可能作为无法写入文件系统的人运行?

git hook

27
推荐指数
1
解决办法
1万
查看次数

如何添加钩子只能在特定模式下运行?

我有以下defun

(defun a-test-save-hook()
  "Test of save hook"
  (message "banana")
  )
Run Code Online (Sandbox Code Playgroud)

我通过以下钩子使用

(add-hook 'after-save-hook 'a-test-save-hook)
Run Code Online (Sandbox Code Playgroud)

这按预期工作.我想做的是将钩子限制到特定模式,在这种情况下是组织模式.关于我如何做到这一点的任何想法?

提前致谢.

emacs hook

26
推荐指数
2
解决办法
7063
查看次数

WordPress钩子中的匿名函数

WordPress钩子有两种使用方式:

  1. 使用回调函数名称和适当的函数

    add_action( 'action_name', 'callback_function_name' );
    function callback_function_name() {
        // do something
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用匿名函数(闭包)

    add_action( 'action_name', function() {
        // do something
    } );
    
    Run Code Online (Sandbox Code Playgroud)

WordPress的使用方法有什么区别吗?什么是首选方式和原因?

php wordpress hook closures anonymous-function

26
推荐指数
2
解决办法
9351
查看次数

你可以在git commit期间更改文件内容吗?

在GitHub的开放小说中保留的一个东西是我想自动设置第一行的单词列表,这是字典中单词的数量.我的第一个选择是编写一个预提交钩子,它读取文件,计算单词,重写第一行并再次写回.这是代码

PRE_COMMIT {
  my ($git) = @_;
  my $branch =  $git->command(qw/rev-parse --abbrev-ref HEAD/);
  say "Pre-commit hook in $branch";
  if ( $branch =~ /master/ ) {
     my $changed = $git->command(qw/show --name-status/);
     my @changed_files = ($changed =~ /\s\w\s+(\S+)/g);
     if ( $words ~~ @changed_files ) {
       my @words_content = read_file( $words );
       say "I have $#words_content words";
       $words_content[0] = "$#words_content\n";
       write_file( $words, @words_content );
     }
   }
};
Run Code Online (Sandbox Code Playgroud)

但是,由于该文件已经暂存,我收到此错误

错误:checkout将覆盖对以下文件的本地更改:text/words.dic请在提交更改或存储更改之前切换分支.中止

可能最好将它作为一个后提交钩子并将其更改为下一次提交?或者做一些完全不同的事情?一般问题是:如果您想在提交期间处理和更改文件的内容,那么正确的方法是什么?

git hook commit

24
推荐指数
2
解决办法
2万
查看次数

有用的Mercurial Hooks

您遇到过哪些有用的Mercurial钩子?

Mercurial书中有一些示例钩子:

我个人认为这些非常有用.我想看看:

  • 拒绝多个头
  • 使用合并拒绝更改组(如果您希望用户始终重新绑定,则非常有用)
    • 除非提交消息具有特殊字符串,否则使用合并拒绝更改组
  • 自动链接到Fogbugz或TFS(类似于bugzilla钩子)
  • 黑名单,会拒绝具有某些变更组ID的推送.(如果使用MQ从其他克隆中提取更改,则非常有用)

请坚持使用bat和bash或Python的钩子.这样,*nix和Windows用户都可以使用它们.

mercurial hook

23
推荐指数
3
解决办法
8962
查看次数

活动窗口上的Windows系统事件是否已更改?

我正在开发的桌面应用程序需要知道在运行应用程序时哪些窗口处于活动状态.目前它每250毫秒执行一次GetForegroundWindow()呼叫user32.dll.方法不是很准确.

是否有任何Windows(WINAPI?)事件在每次活动(聚焦)窗口更改时触发?我想订阅我的回调函数.

谢谢.

.net c# windows hook winapi

23
推荐指数
1
解决办法
1万
查看次数

在git hook中获取提交消息

我想在git commit之前检查提交消息.我使用预提交钩子来做到这一点,但无法在.git/pre-commit脚本中找到获取提交消息的方法.我怎么能得到它?

git hook

23
推荐指数
2
解决办法
2万
查看次数

以编程方式设置标题栏和边框颜色

我试图以编程方式更改我的应用程序的标题栏和边框颜色.我尝试了很多东西,但没有成功,并决定在整个系统中更改这些颜色.因为我可以在应用程序运行时更改标题栏和边框颜色,并在应用程序结束时将其还原.(托管环境,运行少量应用程序)

是否可以动态更改这些颜色(在整个过程范围内,或在系统范围内更改,除非可以进行整个过程的更改)?你能建议任何方法来达到这个目的吗?

我尝试了类似下面的东西,但它没有做我想要的:

int aElements[2] = {COLOR_WINDOW, COLOR_ACTIVECAPTION};
DWORD aOldColors[2];
DWORD aNewColors[2];

aOldColors[0] = GetSysColor(aElements[0]); 
aOldColors[1] = GetSysColor(aElements[1]); 
aNewColors[0] = RGB(0x80, 0x80, 0x80);  // light gray 
aNewColors[1] = RGB(0x80, 0x00, 0x80);  // dark purple 

SetSysColors(2, aElements, aNewColors);
SetSysColors(2, aElements, aOldColors);
Run Code Online (Sandbox Code Playgroud)

提前致谢

编辑

这正是我想要的:

在此输入图像描述

c++ windows hook winapi

23
推荐指数
1
解决办法
1万
查看次数

在Python中实现钩子或回调的首选方法是什么?

我想通过提供一个调用用户功能的界面,为我的一个模块的用户提供扩展功能的能力.例如,我想让用户在创建类的实例时获得通知的能力,并且在使用它之前有机会修改实例.

我实现它的方法是声明一个模块级工厂函数来进行实例化:

# in mymodule.py
def factory(cls, *args, **kwargs):
    return cls(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

然后,当我需要mymodule中的一个类的实例时,我会factory(cls, arg1, arg2)而不是cls(arg1, arg2).

为了扩展它,程序员会在另一个模块中写一个这样的函数:

def myFactory(cls, *args, **kwargs):
    instance = myFactory.chain(cls, *args, **kwargs)
    # do something with the instance here if desired
    return instance
Run Code Online (Sandbox Code Playgroud)

上面回调的安装如下所示:

myFactory.chain, mymodule.factory = mymodule.factory, myFactory
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很简单,但我想知道,作为一名Python程序员,你是否期望一个函数能够注册一个回调而不是一个赋值,或者你是否还有其他方法.我的解决方案对您来说是否可行,惯用且清晰?

我希望尽可能保持简单; 我不认为大多数应用程序实际上需要链接多个用户回调,例如(尽管使用上述模式无限链接"免费").我怀疑他们需要删除回调或指定优先级或订单.像python-callbacksPyDispatcher这样的模块在我看来就像矫枉过正,尤其是后者,但如果对使用我的模块的程序员有很大的好处,我会向他们开放.

python hook factory callback

22
推荐指数
3
解决办法
1万
查看次数

Instagram钩子com.instagram.exclusivegram不那么独占

据我所知,你必须使用com.instagram.photo获得常规选项和com.instagram.exclusivegram为documentinteractioncontroller的UTI如果你真的只想要的Instagram +使用正确的扩展.ig一般和.igo独家Instagram的.

出于某种原因,我看到了多个选项,而不仅仅是我喜欢的Instagram ...

我忘记了什么吗?它有不同的做法吗?

UIImage *image = (UIImage *)[info valueForKey:UIImagePickerControllerOriginalImage];

NSURL *instagramURL = [NSURL URLWithString:@"instagram://"];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
    CGRect rect = CGRectMake(0,0,0,0);
    CGRect cropRect=CGRectMake(0,0,612,612);
    // ig voor gewone instagram, igo voor exclusive instagram
    NSString *jpgPath=[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/temp/photo.igo"];
    CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], cropRect);
    UIImage *img = [[UIImage alloc] initWithCGImage:imageRef];
    CGImageRelease(imageRef);
    [UIImageJPEGRepresentation(img, 1.0) writeToFile:jpgPath atomically:YES];

    NSURL *igImageHookFile = [[NSURL alloc] initWithString:[[NSString alloc] initWithFormat:@"file://%@",jpgPath]];
    // exclusive zou direct in de instagram app …
Run Code Online (Sandbox Code Playgroud)

api hook ios instagram

22
推荐指数
2
解决办法
6011
查看次数

标签 统计

hook ×10

git ×3

winapi ×2

windows ×2

.net ×1

anonymous-function ×1

api ×1

c# ×1

c++ ×1

callback ×1

closures ×1

commit ×1

emacs ×1

factory ×1

instagram ×1

ios ×1

mercurial ×1

php ×1

python ×1

wordpress ×1