小编Chr*_*son的帖子

我可以向git提交添加元数据吗?或者我可以在gitk中隐藏一些标签

我想将自定义元数据与a关联git commit.专门用于记录代码审查中的审阅ID,但它可以是任何内容.标签似乎是一种自然的方式,但我希望每次提交都有一个评论,我不想让gitk大量的标签混乱.是否有其他机制来添加自定义元数据?我可以让某些标签隐身吗?如果我gitk不能显示匹配某些模式或RE的标签,那可能会有效,但我没有办法做到这一点.

tags git metadata gitk

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

我如何从Python日期时间获得时间?

我有一个Python日期时间,d,我希望从午夜起作为浮点数得到小时数.我提出的最好的是:

h = ((((d.hour * 60) + d.minute) * 60) + d.second) / (60.0 * 60)
Run Code Online (Sandbox Code Playgroud)

上午4:30分为4.5分,下午6:45分为18.75分等.有更好的方法吗?

python datetime

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

Jenkins email-ext插件认为我没有配置收件人

我正在使用Jenkins 2.2和email-ext插件 2.42(当前和我的所有其他插件一样).我将我的全局配置设置为具有单个显式收件人,并且我的项目使用默认电子邮件通知配置(即发送到$ DEFAULT_RECIPIENTS).我还在项目中设置了一个明确的收件人.在这两种配置中,作业的控制台输出都显示:

尝试将电子邮件发送到空的收件人列表,忽略.

这似乎是https://issues.jenkins-ci.org/browse/JENKINS-13583,除了1.四年前被标记为已解决,以及2.当我使用基本的,内置的时,我会收到电子邮件通知.有没有人用email-ext看到这个问题?

email jenkins

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

我可以在PostgreSQL中获得CSV标头但没有行数吗?

当我这样做时psql --no-align --field-separator ',',我得到CSV输出,其中包含一个包含字段名称的标题和一个预告片,告诉我找到了多少行.要将其传递给分析程序,我需要标题而不是预告片.我肯定可以编写一个过滤器来传递psql输出的前N-1行,但我更愿意压制预告片.是否有一个我错过的选项会打开标题--tuples-only或关闭预告片?

csv postgresql formatting

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

在Java静态方法声明中使用当前类

我的Java生锈了所以请耐心等待.在CI中可以做到:

int someFunc(void)
{
  printf("I'm in %s\n", __func__);
}
Run Code Online (Sandbox Code Playgroud)

在Java中,我可以通过词汇方式获取当前正在定义的类型的名称或类.例如,如果我有:

import org.apache.log4j.Logger;

class myClass {
    private static final Logger logger = Logger.getLogger(myClass.class);
...
}
Run Code Online (Sandbox Code Playgroud)

在getLogger()参数中重复"myClass"似乎是错误的.我想要"getLogger(__ CLASS__)"或"getLogger(this.class)"之类的东西.(我知道这些都很愚蠢,但它们应该指向我正在寻找的东西.)Java编译器在处理源代码时是否真的不知道它在哪个类中?

java class introspection

9
推荐指数
2
解决办法
8292
查看次数

如何通过在C文件中记录#defines来保持doxygen?

#define在标题中有值,我当然希望Doxygen记录,但我在C文件中有其他我认为是静态常量,我不希望Doxygen记录它们.像傻瓜一样简单愚蠢的东西

#define NUMBER_OF(a) (sizeof((a))/sizeof((a)[0]))
#define MSTR(e) #e
Run Code Online (Sandbox Code Playgroud)

如何让Doxygen不将它们放入#define它创建的文档中?我试过用它标记,@internal但似乎没有帮助.

关于Doxygen的一个有点相关的问题#define,我怎样才能得到:

#define SOME_CONSTANT 1234 /**< An explanation */
Run Code Online (Sandbox Code Playgroud)

在输出中输入"SOME_CONSTANT"和"An explain"而不是"1234"?

c doxygen c-preprocessor

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

寻找比GNU缩进更灵活的工具

当我使用各种选项运行缩进时,我想要反对我的源代码,它会执行我想要的操作,但也会在指针类型中放置*s.

  -int send_pkt(tpkt_t* pkt, void* opt_data);
  -void dump(tpkt_t* bp);
  +int send_pkt(tpkt_t * pkt, void *opt_data);
  +void dump(tpkt * bp);
Run Code Online (Sandbox Code Playgroud)

我知道我在类型旁边放置*s而不是变量是非常规的,但我怎么能缩进才能让它们独自一人?或者是否有另一种工具可以满足我的需求?我查看了手册页,信息页面,并访问了谷歌建议的六个页面,我找不到这样做的选项.

我尝试过Artistic Style(又名AStyle),但似乎无法弄清楚如何将它缩进为4的倍数,但每8个选项卡.那是:

if ( ... ) {
<4spaces>if ( ... ) {
<tab>...some code here...
<4spaces>}
}
Run Code Online (Sandbox Code Playgroud)

pretty-print indentation

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

我可以恢复已删除分支的 GitLab 合并请求吗?

今天在做一些分支维护时,我丢失了一个 MR 和相关的讨论。不是悲剧,但如果可能的话,我想把它拿回来。我发现了一个开放的 GitLab 增强请求来撤消分支删除,但这似乎不是我想要的。这是发生的事情:

分支 A 被推送到我们本地安装的 GitLab,创建了一个 MR,随后进行了一些讨论。我们意识到 A 是一个好的开始,但我们需要一些重要的重构。我们希望为我们最终合并/发布的工作保留分支名称,因此我们:

  • 在本地系统上创建 A-prime 并将其推送到 GitLab
  • 删除 A,希望 MR 与提交相关联,而不是与分支相关联。但是当我们删除 A 时,MR 不再可用。
  • 在与以前相同的提交中重新创建 A 并将其推送到 GitLab,希望 MR 挂出并重新关联。

显然,我们的 GitLab 心智模型是错误的。似乎在删除分支时,提交后钩子或其他东西会删除 MR。我现在的问题是:我可以找回已删除的 MR 及其讨论吗?

gitlab

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

(如何)我可以从套接字文件描述符中确定套接字系列

我正在编写一个包含IPC函数的API,这些函数将数据发送到另一个可能是本地或另一个主机的进程.我真的很喜欢发送功能如下:

int mySendFunc(myDataThing_t* thing, int sd);
Run Code Online (Sandbox Code Playgroud)

没有调用者必须知道 - 在mySendFunc()调用的直接上下文中 - sd是否导致本地或远程进程.在我看来,如果我能这样:

switch (socketFamily(sd)) {
case AF_UNIX:
case AF_LOCAL:
   // Send without byteswapping
   break;
default:
   // Use htons() and htonl() on multi-byte values
   break;
}
Run Code Online (Sandbox Code Playgroud)

有人建议我可以实现socketFamily():

unsigned short socketFamily(int sd)
{
   struct sockaddr sa;
   size_t len;
   getsockname(sd, &sa, &len);   
   return sa.sa_family;
}
Run Code Online (Sandbox Code Playgroud)

但是我有点担心getsockname()的效率,并且想知道我每次发送都能负担得起.

c sockets ipc

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

从C访问网络数据包中未对齐数据的安全有效方法

我正在用ARM9处理器编写C for Linux程序.该程序用于访问网络数据包,其中包括一系列标记数据,如:

<fieldID><length><data><fieldID><length><data> ...
Run Code Online (Sandbox Code Playgroud)

fieldID和length字段都是uint16_t.数据可以是1个或更多字节(如果使用全长,则最多64k,但事实并非如此).

只要<data>有一个偶数个字节,我就没有看到问题.但是,如果我有一个1或3或5字节的<data>部分,那么下一个16位fieldID最终不会出现在16位边界上,我预计会出现对齐问题.已经有一段时间了,因为我从头开始做了这样的事情,所以我对细节不太了解.任何反馈欢迎.谢谢.

c networking memory-alignment

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