小编Jef*_*ing的帖子

如何判断git是否曾跟踪过文件X.

我试过谷歌搜索解决这个问题,但还没有找到一个.

给定一个名为'/ project'的工作目录,我试图找到一种方法来告诉git是否曾在存储库的历史记录中跟踪过一个名为'/ project/x/y/fubar'的文件.

这可能吗?这似乎应该有一个答案,但我的谷歌今天早上失败了.

编辑:可能重复如何判断文件是否被git跟踪(通过shell退出代码)?

我不认为这个问题与此问题相同,因为我试图获取信息的文件不能保证当前由git跟踪,并且在调用时可能不存在于工作目录中.这个问题的答案似乎都告诉你文件当前是否被git跟踪.请告诉我,如果我错了,其中一个解决方案可以接受我的目标.

git

21
推荐指数
2
解决办法
5846
查看次数

Windows 上的 SIGWINCH 等价物?

这很可能是另一个愚蠢的问题,但我似乎找不到答案(或任何与此相关的答案),所以就这样吧。

我有一个命令行程序,它在 Linux 上使用 SIGWINCH 来检测窗口大小的变化,而且我显然有一个在 Windows 上使用该程序的用户。问题是该程序使用 SIGWINCH 来检测窗口大小的变化,而此信号在 Windows 上不受支持。我已经尝试使用谷歌搜索我能想到的每个搜索词组合,但由于 SIGWINCH 和窗口大小变化之间的关系,我无法找到任何有用的结果。我正在寻找 Windows 等效项,或者最常用于检测 Windows 计算机上窗口大小变化的方法。

如何检测 Windows 上窗口大小的变化?

windows signals command-line-interface

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

git-crypt明文保护?

爱git.爱git-crypt.

曾几何时,有一个由git-crypt和一组编码人员保护的回购邮件.不知何故,让我们归咎于外星人,一个文件是以未加密的形式提交的.

错误被及早发现并且没有造成任何伤害,但这引出了我的问题:

在半集中式设置(gitlab,一个可信的repo ...)中,你控制服务器(因此排除github),你使用什么保护措施来确保秘密文件不以未加密的形式提交?

git gitlab

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

这是C中未定义的行为吗?(c = x)+(c == y)

我有一些示例代码抛出此警告:

main.c: In function ‘getline_’:
main.c:30:32: warning: operation on ‘c’ may be undefined [-Wsequence-point]
Run Code Online (Sandbox Code Playgroud)

在这个特定的练习中,我要避免使用||&&运算符,但这似乎不应该产生未定义的行为.编译器消息只是一个警告,但我想知道knowings缘故.这段代码实际上会产生未定义的行为吗?

 24 int getline_( char s[], int limit)
 25 {
 26     int i, c;
 27     i=0;
 28     for( i=0; (i<limit-1) + ((c=getchar())!='\n') + (c!=EOF) == 3; i++){
 29            s[i]=c;
 30     }
 31     if( c == '\n' ){
 32         s[i]=c;
 33         i++;
 34     }
 35     s[i]='\0';
 36     return i;
 37 }
Run Code Online (Sandbox Code Playgroud)

它似乎在我的基本测试中正常工作.

编辑:根据评论更新标题,谢谢pst.

c undefined-behavior

4
推荐指数
1
解决办法
440
查看次数

Terraform Lifecycle 忽略元数据中的 SSH-Key

当您使用 gcloud ssh 到实例时,它会将该 ssh 公钥添加到实例的元数据中以允许您进入。太棒了。

不过,现在 terraform 希望删除该元数据,因为它不在 .tf 文件中。我不在乎它不在 .tf 文件中,我希望 terraform 忽略 SSH 密钥,并且由于安全问题,我无法控制我无法使用项目范围的 SSH 密钥。

我知道如何设置忽略所有元数据的生命周期策略,但我们仍然希望在 hostinit 脚本发生更改时收到通知,因此我试图找到一种仅忽略 ssh 密钥元数据的方法。

正如你可以想象的那样,要获得良好的谷歌结果相当困难,但我已经尝试过。有很多类似的问题,但它们是通过启用项目范围的 SSH 密钥来解决的,但我无法做到这一点。

google-cloud-platform terraform

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

DL具有Ruby Open-URI的文件,文件名中包含括号

我正在尝试使用Ruby和Open-URI下载文件但是我遇到了包含括号('['和']')的文件名的问题.

根据页面,此位置的URL中的括号无效,因为它们应该在该点之前进行编码.我正在尝试检索的示例网址是:

"http://torrent.zoink.it/National.Geographic.Desert.Seas.PDTV.XviD.MP3.[MVGroup.org].torrent"
Run Code Online (Sandbox Code Playgroud)

如何使用Ruby Open-URI检索此类文件?除了那个链接,谷歌搜索没有显示有用的结果.提前致谢!

ruby

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

如何在python中定义类?

我正在尝试在Python中定义一个类并在bpython中使用它,但是我发现的所有示例都没有成功运行,我无法弄清楚原因.

在fubar.py中:

class Fubar:
   def fubar():
      print 'fubar'
Run Code Online (Sandbox Code Playgroud)

在bpython中:

>>> import fubar
>>> Fubar()
Traceback (most recent call last):
  File "<input>", line 1, in <module>
NameError: name 'Fubar' is not defined
Run Code Online (Sandbox Code Playgroud)

为什么选择bpython?因为它支持历史记录和制表符完成OOB.

我发现的每个python类定义的例子看起来都像我使用过的变种,这就是为什么我不明白为什么Fubar()未定义的原因.想法,评论?

Python 2.6.5(我不会选择使用的Python版本)bpython 0.9.5.2

我来自Ruby背景,如果这有助于解释任何人的困惑.

python

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

C循环不会退出

早上好,一个人!事后来看,这最终将成为一个令人眼花缭乱的问题之一,但对于我的生活,我很难过.我正在阅读C语言编程语言中的一些练习,并且我已经设法编写了一些代码来初始化循环.经过一些谷歌搜索,我找到了更好的方法将循环初始化为0,但我不明白为什么我写的循环没有完成.我用调试器发现它是因为'c'变量永远不会达到50,它变为49然后翻到0,但我无法弄清楚为什么它会翻滚.代码附在下面,有谁知道这里发生了什么?

#include <stdio.h>
#define IN 1
#define OUT 0

/* Write a program to print a histogram of the lengths of words in
    itsinput. */
main()
{
    int c=0;
    int histogram[50]={0}
    int current_length=0;
    int state=OUT;

    //Here we borrow C so we don't have to use i
    printf("Initializing...\n");
    while(c<51){
        histogram[c] =0;
        c=c+1;
    }
    c=0;
    printf("Done\n");

    while( (c=getchar()) != EOF){
        if( (c==32 || c==10) && state==IN ){
            //End of word
            state=OUT;
            histogram[current_length++];
        }else if( (c>=33 && c<=126) && state==OUT ){
            //Start of …
Run Code Online (Sandbox Code Playgroud)

c

0
推荐指数
1
解决办法
421
查看次数