小编Jon*_*oss的帖子

为什么git将分支合并到自身?

我今天早上醒来,看了我的开发团队在BitBucket上的一个私有存储库的提交历史.我看到了这个:

匿名犯了fcde879MERGE

https://bitbucket.org/abc/xyz的分支"开发"合并到开发中

这有点不寻常.我的猜测是,这是从没有正确配置git的新机器推出的.不过,我不确定为什么这样做.在BitBucket上,它显示两个单独的哈希作为提交父项,但它没有其他提交的"查看原始提交"选项.

我检查了那个分支,拉了,并手动查看了日志.

sidious@DS-1:/path/to/repo$ git log -1 --format=raw
tree 2931d14f48e61eaf0bbe0660af5b5dd76c07f063
parent 6bb38dee681df7620ffa42b6790641a7873166f2
parent f59c82e19e3e79310a53e273bab78139c49ff063
author root <root@somemachine> 1437069530 +0000
committer root <root@somemachine> 1437069530 +0000

Merge branch 'develop' of https://bitbucket.org/abc/xyz into develop
Run Code Online (Sandbox Code Playgroud)

据我所知,6bb父级在开发分支上,而f59父级似乎来自不同的分支.很难说出发生了什么.

我搜索但找不到答案,我需要回到研究中,因此我在这里提出我的问题:为什么git将一个分支合并到自身?或者说,为什么这个命名法被用作提交消息?

git version-control merge branching-and-merging

27
推荐指数
3
解决办法
8215
查看次数

在 VS Code 1.79.0-1.80.2 中,Python 文档字符串的颜色与注释类似。如何将其恢复为字符串颜色?

我不知道这是怎么发生的。我对主题所做的一切似乎都不起作用。在重新启动 VS Code 之前,我选择了“Dark Modern”主题,并且 Python 文档字符串与其他字符串的颜色完全相同。重新启动后,仍然选择“黑暗现代”主题,但现在文档字符串是丑陋的深绿色。在主题之间切换不会恢复原始颜色。手动修改主题json文件没有任何作用,而且这种令人讨厌的颜色并不在任何主题文件中。禁用和/或重新启用扩展不会产生任何影响,但禁用 Python 扩展会从语法突出显示中删除多种颜色,但不会删除深绿色。是否使用 venv 没有任何影响。

知道发生了什么或如何解决这个问题吗?

编辑:我找到了罪魁祸首。这家伙决定只改变主题颜色。任务仍然是将其恢复到更改之前的状态。

编辑2:VS Code似乎没有办法区分块注释和文档字符串。在 Python 语言中,它们之间存在语义上的、非语法上的差异。在某种程度上,如果 VS Code 团队不更新他们处理这种语义差异的方式,这个问题是无法治愈的:它将错误地突出显示文档字符串并相同地阻止注释,因此答案是在错误的行为之间进行选择。

syntax-highlighting visual-studio-code

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

如何使Sublime Text的"改进的Native for循环"增量像普通的for循环一样?

前提

在Sublime Text 3中,当编写JavaScript时,键入"for"会触发插入两个可能的代码片段之一:

for (... {... (Improved Native For-Loop)

for (var i = Things.length - 1; i >= 0; i--) {
    Things[i]
};
Run Code Online (Sandbox Code Playgroud)

for (...) {...}

for (var i = 0; i < Things.length; i++) {
    Things[i]
};
Run Code Online (Sandbox Code Playgroud)

因为原因

一段时间以来,已知for 循环的反向迭代具有更好的性能.但这样做意味着每个基于数组的操作都必须向后完成,这会导致代码的可读性降低.所有这些麻烦都只是为了在大多数情况下提高性能.

不幸的是," 改进的Native For-Loop "是第一个建议,并且可能导致一些令人烦恼的情况,当意外选择而不是正常的,可读的循环,不会混淆数组迭代的典型约定.

问题

  • 那么,如何改变Sublime Text的行为以不自动为循环添加这些奇怪的东西呢?即,我如何删除该片段建议?
  • 有没有办法在使用更传统的for循环结构时保持轻微的性能提升?如何将其用作Sublime Text片段?

javascript for-loop code-snippets sublimetext3

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

Common lisp:接受可变数量的参数并使用扩展语法调用另一个函数

在我使用过的许多语言中,有一种方法可以在函数签名中包含可变数量的参数,例如,在 Go 中,您可以使用 来声明函数,func doSomething(args ...int)doSomething(2, 3, 4)使用 Python 中的 或来调用它def do_something(*args)do_something(1, 2, 3)等等。此外,还有一些语法传播/解包这些参数,例如在 Gothings = append(things, others...)或 Python 中do_something_else(*args)

我想制作一个包装器,它接受格式字符串并将其和任意数量的参数传递给format t. 由于format需要可变数量的参数,我的猜测是这是一个语言功能,但我还没有找到任何关于如何做到这一点的解释。

我的代码无法正常工作,如下所示:

(defun printf (fstr vals)
  (format t (concatenate 'string fstr "~%") vals))
Run Code Online (Sandbox Code Playgroud)

如果我使用需要 1 个值的格式字符串来调用它,它可以正常工作,但我不知道如何让它使用更多值。例如,(printf "~d is not ~a" 12 "13")会导致错误“给 printf 的参数太多”。我还尝试了以下方法:

(defun printf (fstr &rest vals)
  (format t (concatenate 'string fstr "~%") vals))
Run Code Online (Sandbox Code Playgroud)

然后该错误显示“此格式指令没有足够的参数”。很明显,这vals是一个参数列表,但我不知道如何扩展它们以传递给format …

common-lisp

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