@ -485,6 +485,7 @@ func ToLFSLock(ctx context.Context, l *git_model.LFSLock) *api.LFSLock {
// ToChangedFile convert a gitdiff.DiffFile to api.ChangedFile
func ToChangedFile ( f * gitdiff . DiffFile , repo * repo_model . Repository , commit string ) * api . ChangedFile {
status := "changed"
previousFilename := ""
if f . IsDeleted {
status = "deleted"
} else if f . IsCreated {
@ -493,23 +494,21 @@ func ToChangedFile(f *gitdiff.DiffFile, repo *repo_model.Repository, commit stri
status = "copied"
} else if f . IsRenamed && f . Type == gitdiff . DiffFileRename {
status = "renamed"
previousFilename = f . OldName
} else if f . Addition == 0 && f . Deletion == 0 {
status = "unchanged"
}
file := & api . ChangedFile {
Filename : f . GetDiffFileName ( ) ,
Status : status ,
Additions : f . Addition ,
Deletions : f . Deletion ,
Changes : f . Addition + f . Deletion ,
HTMLURL : fmt . Sprint ( repo . HTMLURL ( ) , "/src/commit/" , commit , "/" , util . PathEscapeSegments ( f . GetDiffFileName ( ) ) ) ,
ContentsURL : fmt . Sprint ( repo . APIURL ( ) , "/contents/" , util . PathEscapeSegments ( f . GetDiffFileName ( ) ) , "?ref=" , commit ) ,
RawURL : fmt . Sprint ( repo . HTMLURL ( ) , "/raw/commit/" , commit , "/" , util . PathEscapeSegments ( f . GetDiffFileName ( ) ) ) ,
}
if status == "rename" {
file . PreviousFilename = f . OldName
Filename : f . GetDiffFileName ( ) ,
Status : status ,
Additions : f . Addition ,
Deletions : f . Deletion ,
Changes : f . Addition + f . Deletion ,
PreviousFilename : previousFilename ,
HTMLURL : fmt . Sprint ( repo . HTMLURL ( ) , "/src/commit/" , commit , "/" , util . PathEscapeSegments ( f . GetDiffFileName ( ) ) ) ,
ContentsURL : fmt . Sprint ( repo . APIURL ( ) , "/contents/" , util . PathEscapeSegments ( f . GetDiffFileName ( ) ) , "?ref=" , commit ) ,
RawURL : fmt . Sprint ( repo . HTMLURL ( ) , "/raw/commit/" , commit , "/" , util . PathEscapeSegments ( f . GetDiffFileName ( ) ) ) ,
}
return file