小编rbe*_*amy的帖子

git status显示修改,git checkout - <file>不会删除它们

我想删除对我的工作副本的所有更改.
运行git status显示修改的文件.
我没做什么似乎删除了这些修改.
例如:

rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
$ git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   Rhino.Etl.Core/Enumerables/CachingEnumerable.cs
#       modified:   Rhino.Etl.Core/Pipelines/SingleThreadedPipelineExecuter.cs
#       modified:   Rhino.Etl.Tests/Rhino.Etl.Tests.csproj
#       modified:   Rhino.Etl.Tests/SingleThreadedPipelineExecuterTest.cs
#
no changes added to commit (use "git add" and/or "git commit -a")

rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
$ git checkout -- Rhino.Etl.Core/Enumerables/CachingEnumerable.cs

rbellamy@PROMETHEUS …
Run Code Online (Sandbox Code Playgroud)

git revert working-copy git-status

213
推荐指数
9
解决办法
10万
查看次数

ShellIconOverlayIdentifiers - 为什么这么少?

此时,每个人都知道ShellIconOverlayIdentifiers(来自MSDN)的数量有限制:

系统可以支持的不同图标叠加处理程序的数量受系统图像列表中可用于图标叠加的空间量的限制.目前有15个插槽用于图标覆盖,其中一些是由系统保留的.因此,只有在没有令人满意的替代方案时才应实施图标叠加处理程序

我可以理解Windows 95中的15个覆盖限制.但是在一个有Gigs of RAM,众多内核和GPU的环境中,现代操作系统中有这么低数量的技术原因吗?

为什么这个值不可配置?

在给出"性能"答案之前,请考虑: Windows允许配置,以便您可以杀死性能......为什么要特别选择这个问题?

windows icons windows-explorer windows-shell

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

对git autocrlf设置的明确建议

我每天都使用Windows,Mac OS X和Linux.我在所有这些环境中使用git,从具有不同选择的人们使用的repos中提取行结尾.

在我的情况下是否有建立core.autocrlf的明确建议?

git line-endings

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

NHibernate:为什么Linq First()只使用FetchMany()强制所有子孙集合中的一个项目

领域模型

我有一个Customer很多的规范领域Orders,每个Order都有很多OrderItems:

顾客

public class Customer
{
  public Customer()
  {
    Orders = new HashSet<Order>();
  }
  public virtual int Id {get;set;}
  public virtual ICollection<Order> Orders {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

订购

public class Order
{
  public Order()
  {
    Items = new HashSet<OrderItem>();
  }
  public virtual int Id {get;set;}
  public virtual Customer Customer {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

的OrderItems

public class OrderItem
{
  public virtual int Id {get;set;}
  public virtual Order Order {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

问题

无论是使用FluentNHibernate还是hbm文件映射,我都运行两个单独的查询,它们的Fetch()语法相同,但包含.First()扩展方法的查询除外.

返回预期结果:

var customer = …
Run Code Online (Sandbox Code Playgroud)

nhibernate fetch eager-loading

15
推荐指数
2
解决办法
2771
查看次数

C++ Mock/Test boost :: asio :: io_stream - 基于Asynch Handler

经过多年的C#,我最近回到了C/C++.在那些年里,我发现了模拟和单元测试的价值.

在C#中为模拟和单元测试寻找资源是微不足道的.WRT Mocking,与C++不同.

我希望得到一些关于其他人做什么来模拟和测试Asynch io_service处理程序的指导.

例如,在C#中我会使用MemoryStream来模拟IO.Stream,并假设这是我应该采取的路径.

  • C++模拟/测试最佳实践
  • boost :: asio :: io_service模拟/测试最佳实践
  • C++异步处理程序模拟/测试最佳实践

我已经开始使用googlemock和googletest.

c++ mocking googletest boost-asio googlemock

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

理解外键not-null = true和反向行为与NHibernate的零对一关系

我正在尝试让NHibernate使用集合的许多方面来管理双向关联以建立零对一关系.

父类和地图:

public class Parent
{
    private ICollection<Child> children;
    public Parent()
    {
        this.children = new HashedSet<Child>();
    }
    public virtual Guid Id { get; protected internal set; }
    public virtual Child Child
    {
        get { return children.FirstOrDefault(); }
        set
        {
            {
                this.children.Clear();
                if (value != null)
                {
                    this.children.Add(value);
                }
            }
        }
    }
}

public class ParentMap : ClassMap<Parent>
{
    public ParentMap()
    {
        this.Id(x => x.Id)
            .GeneratedBy.GuidComb();
        this.HasMany<Child>(Reveal.Member<Parent>("children"))
            .Access.Field()
            .Cascade.All()
            .Not.Inverse()
            .AsSet();
    }
}
Run Code Online (Sandbox Code Playgroud)

儿童班和地图:

public class Child
{
    public virtual Guid …
Run Code Online (Sandbox Code Playgroud)

nhibernate nhibernate-mapping

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

Windows图标叠加 - 替代方案,改进和想法?

由于科迪灰色提到回答我的其他问题时,在这里,雷蒙德陈谈论覆盖图标怎么都一个糟糕的选择在这里(请注意,文章一岁).

反叠加的实质性论点是,一次只能显示一个......所以,如果两个适用,哪一个获胜?一个似是而非的论点是,只有15个 - 我认为这是微软的设计选择,而不是反对其功效的论据.

随着文件拓扑的变化:

  • 地点
  • 管理
  • 所有权
  • 同步
  • 复制
  • ?????

我相信文件和文件夹需要等效的状态指示器才能立即识别其状态.

什么是图标叠加的替代方法,它在文件/文件夹的状态上呈现相同的即时可视队列?也许需要一个新的图标模型?

编辑:

2010-12-14 我越是想到这一点,我就越觉得只有一个叠加层并且无法使叠加层一起工作的想法是荒谬的.

除非出于技术原因,否则您不能有多个叠加层?

考虑(在我的头顶):

  • 您可以将图标分成4个象限(左上角,右上角等) - 这将允许每个图标4个叠加.无需重叠间匹配.
  • 你可以叠加叠加层,并且只使用优先级来确定位置(z-order anybody?).允许用户访问用户空间优先级,因此USER(您知道该软件应该服务的人吗?)可以选择重要的覆盖范围.系统覆盖不是为覆盖保留一个点,而是具有最高优先级.

windows icons windows-explorer windows-shell shell-icons

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

使用CreateMany()的AutoFixture IEnumerable <T>行为

这里查看帖子时,看起来我应该能够创建多个对象,使用CreateMany()它们迭代它们foreach,然后将它们作为数组返回.

我所看到的是,每次迭代似乎每次都会创建新对象.这是预期的行为吗?

要创建的实体:

public class TestEntity
{
    public int Id { get; private set; }
    public string SomeString { get; set; }
    public void SetId(int value)
    {
        this.Id = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

示例Program.cs:

private static int id;

static void Main(string[] args)
{
    var fixture = new Fixture();
    IEnumerable<TestEntity> testEntities = 
      fixture.Build<TestEntity>().CreateMany(5);

    Output(testEntities);

    foreach (var testEntity in testEntities)
    {
        testEntity.SetId(id++);
        Console.WriteLine(
          string.Format("CHANGED IN FOREACH:: hash: {0}, id: {1}, string: {2}", 
          testEntity.GetHashCode(), testEntity.Id, testEntity.SomeString));
    }

    Output(testEntities); …
Run Code Online (Sandbox Code Playgroud)

c# autofixture

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

如何使用Powershell递归重命名文件夹?

使用PS递归重命名文件是微不足道的(来自Mike Ormond博客的示例变体):

dir *_t*.gif -recurse 
    | foreach { move-item -literal $_ $_.Name.Replace("_thumb[1]", "")}
Run Code Online (Sandbox Code Playgroud)

我正在尝试递归重命名文件夹结构.

用例是我希望能够重命名整个VS.NET解决方案(例如从Foo.Bar到Bar.Foo).要做到这一点,有几个步骤:

  1. 重命名文件夹(例如\ Foo.Bar\Foo.Bar.Model =>\Bar.Foo\Bar.Foo.Model)
  2. 重命名文件(例如Foo.Bar.Model.csproj => Bar.Foo.Model.csproj)
  3. 在文件中查找和替换以更正名称空间更改(例如'namespace Foo.Bar'=>'namespace Bar.Foo')

我目前正在这个过程的第一步.

我找到了这篇文章,讨论了挑战,并提出了一个解决方案,但没有谈到解决方案是什么.

我一直跑进递归墙.如果我让PS使用标志处理递归,则在子项之前重命名父文件夹,并且脚本会引发错误.如果我自己尝试实现递归,我的头脑都会变得很麻烦,而且事情发生了可怕的错误 - 对于我的生活,我无法在递归树的尾部开始重命名.

powershell recursion file-rename

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

什么是与用户的客户端连接:无,主机:无,名称:MySQL Workbench中的compress_gtid_table?

在MySQL Workbench中打开客户端连接我注意到一个可疑的客户端连接,其中包含以下详细信息:

Name:    thread/sql/compress_gtid_table  
Type:    FOREGROUND  
User:    None  
Host:    None  
DB:      None  
Schema:  None  
Command: Daemon  
Time:    [MILLIONS of seconds and constantly increasing]  
State:   Suspending  
Instrumented: YES  
Parent-Thread:  1  
Info:  Null  
Program:  None
Run Code Online (Sandbox Code Playgroud)

我不确定我是否提供了足够的信息来回答,但有人会碰巧知道这个客户端连接的目的究竟是什么(compress_gtid_table),它是恶意的,以及为什么它会如此庞大且不断增长时间价值?

经验水平:我对MySQL很新,只在本地机器上进行基本学习.我不熟悉线程,gtid或守护进程.

mysql sql-server

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

AutoFixture - 如何调用方法,如何设置autoproperty的私有setter?

这是我的班级:

public MyClass {
  public int Id { get; private set; }
  public SetAssignableId (int id) {
    this.Id = id;
  }
}
Run Code Online (Sandbox Code Playgroud)

我想让AutoFixture通过SetAssignableId或私人设置器设置Id.

c# autofixture

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

在BOF或EOF中查找具有空白或WS的所有文件

每个人都知道PHP讨厌文件开头或结尾的空行(在PHP标记之前或之后).

我有一个awk将修改文件的脚本.我将所有文件传递给它,事情是桃子的,没有更多的前导或尾随空行.

我想首先查找文件,以构建快速异常报告.

我试过这样的事情:

grep -r -e :a -e '/^\n*$/{$d;N;};/\n$/ba'
Run Code Online (Sandbox Code Playgroud)

但那是错的.

php shell grep sed

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

Java - 如何将方法作为参数传递?

我有一个重复使用的代码节.这是两个例子:

public java.sql.Struct createStruct(String typeName, Object[] attributes) {
  String searchPath = getSearchPath();
  String name = setSearchPathToSchema(typeName);
  Struct ret = delegate().createStruct(name.toLowerCase(), attributes);
  setSearchPath(searchPath);
  return ret;
}

public java.sql.Array createArray(String typeName, Object[] elements) {
  String searchPath = getSearchPath();
  String name = setSearchPathToSchema(typeName);
  Array ret = delegate().createArray(name.toLowerCase(), elements);
  setSearchPath(searchPath);
  return ret;
}
Run Code Online (Sandbox Code Playgroud)

您可以看到这两种方法具有一般形式:

public <T> createXXX(String typeName, Object[] objects) {
  String searchPath = getSearchPath();
  String name = setSearchPathToSchema(typeName);
  T ret = delegate().createXXX(name.toLowerCase(), objects);
  setSearchPath(searchPath);
  return ret;
}
Run Code Online (Sandbox Code Playgroud)

具有共同签名但返回类型不同T的某些函数集的返回类型在哪里createXXX.

我非常确定如何在Javascript,F#,C#,Scala或任何其他语言中执行此操作. …

java lambda

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