2016-04-12 31 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