add IsSubmodule field to DiffFile and hide view file button on diff page for submodules (#3097)

This commit is contained in:
Siarhei Navatski 2016-07-22 21:18:56 +03:00 committed by 无闻
parent 599716bb1b
commit cf85e9eb7b
2 changed files with 14 additions and 8 deletions

View File

@ -160,6 +160,7 @@ type DiffFile struct {
IsDeleted bool IsDeleted bool
IsBin bool IsBin bool
IsRenamed bool IsRenamed bool
IsSubmodule bool
Sections []*DiffSection Sections []*DiffSection
IsIncomplete bool IsIncomplete bool
} }
@ -306,7 +307,7 @@ func ParsePatch(maxLines, maxLineCharacteres, maxFiles int, reader io.Reader) (*
} }
curFileLinesCount = 0 curFileLinesCount = 0
// Check file diff type. // Check file diff type and is submodule.
for { for {
line, err := input.ReadString('\n') line, err := input.ReadString('\n')
if err != nil { if err != nil {
@ -333,6 +334,9 @@ func ParsePatch(maxLines, maxLineCharacteres, maxFiles int, reader io.Reader) (*
curFile.Name = b curFile.Name = b
} }
if curFile.Type > 0 { if curFile.Type > 0 {
if strings.HasSuffix(line, " 160000\n") {
curFile.IsSubmodule = true
}
break break
} }
} }

View File

@ -68,13 +68,15 @@
{{end}} {{end}}
</div> </div>
<span class="file">{{if $file.IsRenamed}}{{$file.OldName}} &rarr; {{end}}{{$file.Name}}</span> <span class="file">{{if $file.IsRenamed}}{{$file.OldName}} &rarr; {{end}}{{$file.Name}}</span>
<div class="ui right"> {{if not $file.IsSubmodule}}
{{if $file.IsDeleted}} <div class="ui right">
<a class="ui basic tiny button" rel="nofollow" href="{{EscapePound $.BeforeSourcePath}}/{{EscapePound .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a> {{if $file.IsDeleted}}
{{else}} <a class="ui basic tiny button" rel="nofollow" href="{{EscapePound $.BeforeSourcePath}}/{{EscapePound .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a>
<a class="ui basic tiny button" rel="nofollow" href="{{EscapePound $.SourcePath}}/{{EscapePound .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a> {{else}}
{{end}} <a class="ui basic tiny button" rel="nofollow" href="{{EscapePound $.SourcePath}}/{{EscapePound .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a>
</div> {{end}}
</div>
{{end}}
</h4> </h4>
<div class="ui attached table segment"> <div class="ui attached table segment">
{{if not $file.IsRenamed}} {{if not $file.IsRenamed}}