小编Sim*_*rta的帖子

从提交消息到PR禁止Github引用

我有一个分支,我(自动)从pull请求中应用一些补丁.

我这样做是通过提交PR的差异并有一个像这样的提交消息

补丁| 应用补丁https://github.com/randombit/botan/pull/386

现在,每次我在Github上托管的提交中执行此操作时,PR都会被引用.

在我的情况下,这不会为PR本身添加任何值,因为它被多次引用而不是任何讨论的一部分.我可以从提交消息中抑制此引用吗?


当我在提交消息中创建一堆具有PR url的不同提交时会发生这种情况:

在此输入图像描述

在这里,您可以验证完全不相关的提交仅通过提交消息解析来创建引用:

github

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

使用Qt Creator调试Qt应用程序:<没有这样的值>

我在Ubuntu 12.04中使用Qt Creator和Qt 5.1.1.当我使用调试器显示任何变量的内容时,窗口总是在每个变量上显示"没有这样的值".同样在类型的变量QString,int等有没有在我的Ubuntu的配置问题?有人能帮帮我吗?

debugging qt-creator ubuntu-12.04

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

对于BLOB,'length()IS NULL'是否等效且快于'IS NULL'?

我在SSD上有一个~90 MB的SQLite数据库,主要包括消息附件,包括BLOB列内容,用于存储二进制附件数据.

现在我发现了以下查询

SELECT message_id FROM attachments WHERE length(content) IS NULL;
Run Code Online (Sandbox Code Playgroud)

比原始速度快500倍(0.5毫秒对250毫秒)

SELECT message_id FROM attachments WHERE content IS NULL;
Run Code Online (Sandbox Code Playgroud)

两个查询都是等价的,这是真的吗?

附加信息

  1. 除自动索引外,不涉及任何索引.
  2. 它不是缓存.可以从任意数量的SQLite进程以任何顺序无限次地重现结果.

sql sqlite

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

如何在Qt Creator中使用qmllint?

qmllint是KDAB编写的QML文件的语法检查程序,它是作为Qt 5.4的插件提供的.它的用法基于命令行,如:

$ qmllint myFile.qml
Run Code Online (Sandbox Code Playgroud)

是否可以直接在Qt Creator中使用它?

qt qt-creator qml qt5 qmllint

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

在qmake中是否有'或'符号

我使用win32,macxunix:!macx又名.Linux if语句在我的.pro文件中,用于指定os特定任务,例如

win32 {
    TARGET = myapp
    RC_FILE = myapp.rc
}
macx {
    TARGET = MyApp
    ICON = myapp.icns
    QMAKE_INFO_PLIST = Info.plist
}
unix:!macx { # linux
    CONFIG(debug, debug|release) {
        TARGET = myapp-debug
    }
    CONFIG(release, debug|release) {
        TARGET = myapp
    }
}
Run Code Online (Sandbox Code Playgroud)

这适用于if X else,if X elseif X else和os说明符if not X在哪里X.

有没有办法告诉qmake它必须编译一个块os1os2

qmake qt5

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

发送一系列命令并等待响应

我必须更新连接到串行端口的设备上的固件和设置.由于这是通过一系列命令完成的,因此我发送命令并等待直到我收到答案.在answere(多行)里面,我搜索一个字符串,指示操作是否成功完成.

Serial->write(“boot”, 1000);
Serial->waitForKeyword(“boot successful”);
Serial->sendFile(“image.dat”);
…
Run Code Online (Sandbox Code Playgroud)

所以我为这个阻塞读/写方法创建了一个新的Thread.在线程内部我使用了waitForX()函数.如果我调用watiForKeyword(),它将调用readLines()直到它检测到关键字或超时

bool waitForKeyword(const QString &keyword)
{
    QString str;

    // read all lines
    while(serial->readLines(10000))
    {
        // check each line
        while((str = serial->getLine()) != "")
        {
            // found!
            if(str.contains(keyword))
                return true;
        }
    }
    // timeout
    return false;
}
Run Code Online (Sandbox Code Playgroud)

readLines()读取所有可用的东西并将其分成行,每行放在一个QStringList中,并获取一个我调用getLine()的字符串,它返回列表中的第一个字符串并删除它.

bool SerialPort::readLines(int waitTimeout)
{
if(!waitForReadyRead(waitTimeout))
{
    qDebug() << "Timeout reading" << endl;
    return false;
}

QByteArray data = readAll();
while (waitForReadyRead(100))
    data += readAll();

char* begin = data.data();
char* ptr = strstr(data, "\r\n");

while(ptr != NULL) …
Run Code Online (Sandbox Code Playgroud)

c++ qt serial-port blocking

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

为什么合并冲突会发生?

例如:

  • 我有一个主分支.
  • 我创建了一个文件file.txtMaster branch在其中写入,然后我提交了它.
  • 我创建了一个名为另一个分支fix20,并修改的文字file.txtThis is fix20 branch.然后我承诺了.
  • 我切换到主分支,然后我创建一个分支hotfix并切换到它.
  • 我修改file.txt了文本This is the HotFix.之后我提交了更改.
  • 现在我切换回主分支并将其与修补程序合并.文件(没有问题)将文本更改为This is the HotFix(它们基本上是合并的)).

现在我与fix20分支合并,我得到了合并冲突.它file.txt包含来自fix20分支的文本和我与HotFix合并后的文本.在这一点上,我应该打开一个编辑器并决定,应该留下什么,以及应该删除什么.

问题是:为什么合并冲突第二次发生?当我将主服务器与修补程序合并时,为什么我没有决定要留下哪些文本?当我与fix20分支合并时为什么没有合并文件(为什么文本不是像修补程序一样被替换)?为什么基本上这种冲突第二次发生而不是第一次?

git version-control merge github

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

在Heroku部署之后,Trigger Travis运行

我在Travis上有一堆Integrationtests,我需要我的Ruby on Rails应用程序部署到Heroku之后运行.我怎样才能做到这一点?

我尝试使用HTTP-POST-Method但Travis需要自定义标头和JSON主体,Heroku不支持两者.还有另外一种方法吗?

ruby-on-rails heroku travis-ci

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

使用QSystemTrayIcon为OS X创建单色托盘图标

OS X要求应用程序使用19x19px单色PDF作为托盘图标,以便根据用户的主题调整系统默认颜色.

使用模板图像来表示额外的菜单栏.在常规系统首选项中,用户可以将菜单栏(和Dock)更改为暗色外观.[...]

可以使用QSystemTrayIcon完成吗?

据我所知,底层QIcon类不支持PDF.


目前我正在使用黑色SVG,它以纯黑色显示,造成非常不自然的外观.

默认主题:

SVG默认主题

黑暗主题:

黑暗主题的SVG

macos qt system-tray qt5

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

检查 Qt 在运行时使用哪个 OpenGL 引擎进行发布版本

在 QML 应用程序中,有 3 种渲染类型

  • 原生 OpenGL:“桌面”
  • 角度 Direct3D:“角度”
  • 软件渲染器:“软件”

我们使用支持类型的自动加载机制。

如何以编程方式确定在运行时使用哪种渲染类型?

我知道QT_LOGGING_RULES=qt.qpa.gl=true但这会产生大量噪音和调试消息,这些消息不会记录在我们的发布版本中。还有另一种简单的方法来获取渲染类型吗?

windows opengl qt qtquick2 qt5.6

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