小编Ale*_*lec的帖子

有什么方法可以在将功能分支重新建立到另一个分支后安全地删除它吗?

当功能分支重新基于 origin/master 而不是合并时,如何安全地删除它的本地副本。我知道我可以git branch -D,但我想避免盲目这样做,让 git 告诉我哪些分支可以安全删除。

例如:我有功能分支my-feature,我将其推送到origin/my-feature,制作 PR,然后origin/my-feature重新基于origin/master,然后删除。不过,本地my-feature仍然存在。* 有什么方法可以检测到那里的更改已有效包含在中吗origin/master

git diff origin/master...my-feature不起作用,因为共同的祖先origin/master没有改变。检查是否git diff origin/master..my-feature为空有效,但只能在变基后立即进行。如果任何其他更改在我的基础上重新建立,这将显示这些更改。

有没有办法删除远程版本已被删除的本地分支?(但不是从未有远程版本的本地分支)。或者,如果我避免删除origin/my-feature,那么我可以在本地做些什么来安全地删除两者origin/my-featuremy-feature

* 如果我足够自律,我会尽量记住在删除远程分支后立即删除本地分支,但有时我会忘记。

git version-control github git-rebase

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

编写此代码的更好的惯用方法?

和go一起玩,我把这段代码拼凑在一起:

package main

import "fmt"

const N = 10

func main() {
    ch := make(chan int, N)
    done := make(chan bool)

    for i := 0; i < N; i++ {
        go (func(n int, ch chan int, done chan bool) {
            for i := 0; i < N; i++ {
                ch <- n*N + i
            }
            done <- true
        })(i, ch, done)
    }

    numDone := 0
    for numDone < N {
        select {
        case i := <-ch:
            fmt.Println(i)
        case <-done:
            numDone++ …
Run Code Online (Sandbox Code Playgroud)

go

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

scipy LU分解置换矩阵

据我所知,LU分解,这意味着对于下三角矩阵L和上三角矩阵U,矩阵A可写为A = LU.

然而,在SciPy的关于LU因式分解的功能(lu,lu_factor,lu_solve)似乎涉及第三矩阵P,使得A = PLU,P是置换矩阵(和L,U如前是).

这个排列矩阵有什么意义?如果一个"真正的"LU分解始终是可能的,为什么P不是单位矩阵?

python numpy linear-algebra scipy

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

c ++ 11为调用者构造一个对象

我有一些Foo结构需要知道其他对象的状态要初始化,所以我为它创建一个工厂方法:

struct Foo {
  Foo(int x) : x_(x) {}

  int x_;
};

struct FooFactory {
  Foo MakeFoo() {
    return Foo(++counter);
  }

  int counter = 0;
};
Run Code Online (Sandbox Code Playgroud)

因此,虽然呼叫者可以这么做Foo(++factory.counter),但能够说出来更清洁factory.MakeFoo().

但是这段代码需要复制,并说我们想避免这种情况.我们可以使用移动构造函数.

struct Foo {
  Foo(int x) : x_(x) {}
  Foo(Foo& foo) = delete;
  Foo(Foo&& foo) : Foo(foo.x_) { foo.x_ = 0; }

  int x_;
};

struct FooFactory {
  Foo MakeFoo() {
    return Foo(++counter);
  }

  int counter = 0;
};
Run Code Online (Sandbox Code Playgroud)

哪个有效,但看起来仍然比我想要的"更多".类似的东西Foo foo = factory.MakeFoo()仍然会创建一个临时的内部, …

c++ move-semantics c++11

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

如何设置基本的repository_rule?

我很迷失尝试创建自定义存储库规则的方法...

pypi.bzl

def _impl(repository_ctx):                                                                           
  repository_ctx.execute(['echo', '"testing testing 123"'])                                                                                     
  repository_ctx.execute(['pip', 'download', repository_ctx.attr.package])                           
  repository_ctx.file("BUILD",                                                                                                                  
      """                                                                                            
  py_library(                                                                                        
    name = "lib",                                                                                    
    srcs = glob(["*.py"]),                                                                           
  )                                                                                                  
      """)                                                                                           

pypi_package = repository_rule(                                                                      
  implementation=_impl,                                                                              
  attrs={"package": attr.string(mandatory=True)},                                                    
)  
Run Code Online (Sandbox Code Playgroud)

WORKSPACE

load("//:pypi.bzl", "pypi_package")                                                                  

pypi_package(                                                                                        
  name = "dateutil",                                                                                                                            
  package = "python-dateutil",                                                                       
) 
Run Code Online (Sandbox Code Playgroud)

BUILD

py_binary(                                                                                           
  name = "app",                                                                                                                                 
  srcs = ["app.py"],                                                                                 
  deps = ["@dateutil//lib"],                                                                                                                    
) 

$ bazel build app
ERROR: /Users/alec/code/bazel-pypi/BUILD:1:1: no such package '@dateutil//lib': BUILD file not found on package path and referenced by '//:app'.
ERROR: Analysis of target …
Run Code Online (Sandbox Code Playgroud)

bazel

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