2016-04-12 77 views

回答

4

这没有记录在the ls-files man page,所以I dug into the source code to find the answer

func lsFilesMarker(p *lfs.WrappedPointer) string { 
    info, err := os.Stat(p.Name) 
    if err == nil && info.Size() == p.Size { 
     return "*" 
    } 

    return "-" 
} 

*可能意味着磁盘上的文件的大小与一个在仓库或指数相同,取决​​于什么在WrappedPointer.SizeIt was added in this commit, but not explained。无论哪种方式,它看起来像一个糟糕的测试,因为内容可以改变,但不是大小。

请注意the - code path is never tested。您可能希望let them know提供有关缺少测试和文档的信息。

+0

基于提交消息的第4行,我猜测'*'表示该文件是一个LFS指针,而' - '表示该文件是一个完整的对象。但是,这只是一个猜测。 – cowlinator

0

就像在git中一样,' - '表示文件已经在工作目录中被删除。这两个带有' - '的文件确实被无意中删除了。恢复他们带回'*'。

什么让我失望是git lfs status什么也没有报告,但我想我错了。

+0

什么git命令使用'-'来表示文件被删除? – Schwern