小编dav*_*nte的帖子

在预提交挂钩中引发git警告

当我或其他人在工作中提交项目时,我一直在使用git中的pre-commit挂钩来检查问题。我可以以非零状态退出,以指示该提交存在严重的问题,应立即修复。

但是,有时问题仅仅是程序员需要警告的内容(例如,他们需要根据更改来更新帮助文件)。我有什么方法可以发出git警告,例如您收到的“ LF将被CRLF替换”警告?我的部分动机是因为我们中的一些人使用SmartGit,因此警告以黄色清晰显示在屏幕上。

提交后的钩子看起来很有希望,但是在尝试了不同的返回值之后,它也从未真正警告我。将所有内容都保留在pre-commit挂钩中会很好,而且我敢肯定有更好的方法可以做到这一点。感谢您提供的任何提示!

git

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

将程序添加到 Windows 8 上文件扩展名的“打开方式”菜单

之前已经问过与此类似的问题,但我相信 Windows 8 的情况发生了变化,因此这不是重复的。

方法一

看起来最好的Windows 桌面文档表明程序使用 OpenWithProgids。尽管一些 MSDN 文档报告此注册表项仅在 Windows XP 中受支持,但其他文档表明它以某种方式与 Windows 应用商店一起使用,随 Windows 8 一起引入。仅在我的计算机上查看,大多数程序仍在使用此注册表项,因此我打算添加它而不是仅仅被文档混淆。

方法二

在窗口桌面文档的应用程序注册部分,向“打开方式”上下文菜单添加程序的建议方法是使用 SupportedTypes 注册表项。

概括

这两种方法都适用于 Windows 7,但似乎都不适用于 Windows 8。

有些人可能会建议尝试“默认程序”界面,但是,尽管这是一个好主意,但其上的文档通常会为您提供其他地方以进入“打开方式”菜单。我通常希望一个应用程序一直停留在“打开方式”菜单上,而不管它当前是否是默认程序。

尽管如此,仍然停留在默认程序主题上,在这个线程中,有人“偶然发现”了一个解决方案,即一旦将程序设置为默认程序,就将其添加到“打开方式”菜单中。不幸的是,我的系统没有与我的文件扩展名相同的行为。

<Component Id="ConsoleApplication" Guid="*">
  <File Id="ConsoleApplication.exe" Name='ConsoleApplication.exe' DiskId='1'
        Source='$(var.ConsoleApplication.TargetDir)/ConsoleApplication.exe'
        KeyPath='yes' />

  <!-- ProgID (always required) -->
  <RegistryValue Root="HKLM"
                 Key="SOFTWARE\Classes\ConsoleApplication.MyProgId"
                 Name="FriendlyTypeName"
                 Value="ConsoleApplication ProgID"
                 Type="string" />
  <ProgId Id="ConsoleApplication.MyProgId"
        Description="ConsoleApplication MyProgId"
        Advertise="yes">
    <Extension Id="xyz">
      <Verb Id="open"
            Command="Open"
            Argument="&quot;%1&quot;"/>
    </Extension>
  </ProgId>

  <!-- …
Run Code Online (Sandbox Code Playgroud)

registry windows-installer wix

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

universal-ctags是否支持exuberant-ctags配置文件?

我有一个$HOME/.ctags来自exuberant-tags的文件,但是通用标签似乎没有从中获取我的选择.universal-tags是否支持这些配置文件?

exuberant-ctags

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

无法通过 AWS 配置文件承担角色

我们总是使用以下命令在远程计算机上扮演角色超过一个小时:

# Prep environment to use roles.
unset AWS_CONFIG_FILE
unset AWS_DEFAULT_REGION
unset AWS_DEFAULT_PROFILE

CONFIG_FILE=$(mktemp)

# Creates temp file with instance profile credentials as default
# AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, ROLE_ARN are available from the environment.
printf "[default]\naws_access_key_id=$AWS_ACCESS_KEY_ID\naws_secret_access_key=$AWS_SECRET_ACCESS_KEY\n[profile role_profile]\nrole_arn = $ROLE_ARN\nsource_profile = default" > $CONFIG_FILE

# make sure instance profile takes precedence
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset AWS_SESSION_TOKEN

export AWS_CONFIG_FILE=$CONFIG_FILE
export AWS_DEFAULT_REGION=us-east-1
export AWS_DEFAULT_PROFILE=role_profile
Run Code Online (Sandbox Code Playgroud)

不幸的是,这种方法最近开始失效。我们只需运行以下命令即可重现故障:

aws sts get-caller-identity
Run Code Online (Sandbox Code Playgroud)

将标志添加--debug到最后一个命令:

09:11:47 2018-06-21 14:11:47,731 - MainThread - awscli.clidriver - DEBUG - CLI version: …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-iam botocore

2
推荐指数
1
解决办法
4917
查看次数