mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 20:36:07 +01:00 
			
		
		
		
	wiki history improvements (#7391)
* add history comments to detect page delete Signed-off-by: Michael Gnehr <michael@gnehr.de> * fix too much history entries - caused by --follow flag - if files with same contents exists Signed-off-by: Michael Gnehr <michael@gnehr.de> * style imprevements wiki - history - wrap long author names Signed-off-by: Michael Gnehr <michael@gnehr.de>
This commit is contained in:
		@@ -266,6 +266,16 @@ func (repo *Repository) CommitsByFileAndRange(revision, file string, page int) (
 | 
				
			|||||||
	return repo.parsePrettyFormatLogToList(stdout)
 | 
						return repo.parsePrettyFormatLogToList(stdout)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// CommitsByFileAndRangeNoFollow return the commits according revison file and the page
 | 
				
			||||||
 | 
					func (repo *Repository) CommitsByFileAndRangeNoFollow(revision, file string, page int) (*list.List, error) {
 | 
				
			||||||
 | 
						stdout, err := NewCommand("log", revision, "--skip="+strconv.Itoa((page-1)*50),
 | 
				
			||||||
 | 
							"--max-count="+strconv.Itoa(CommitsRangeSize), prettyLogFormat, "--", file).RunInDirBytes(repo.Path)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return repo.parsePrettyFormatLogToList(stdout)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// FilesCountBetween return the number of files changed between two commits
 | 
					// FilesCountBetween return the number of files changed between two commits
 | 
				
			||||||
func (repo *Repository) FilesCountBetween(startCommitID, endCommitID string) (int, error) {
 | 
					func (repo *Repository) FilesCountBetween(startCommitID, endCommitID string) (int, error) {
 | 
				
			||||||
	stdout, err := NewCommand("diff", "--name-only", startCommitID+"..."+endCommitID).RunInDir(repo.Path)
 | 
						stdout, err := NewCommand("diff", "--name-only", startCommitID+"..."+endCommitID).RunInDir(repo.Path)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -292,7 +292,7 @@ footer .ui.left,footer .ui.right{line-height:40px}
 | 
				
			|||||||
.markdown:not(code) .ui.list .list,.markdown:not(code) ol.ui.list ol,.markdown:not(code) ul.ui.list ul{padding-left:2em}
 | 
					.markdown:not(code) .ui.list .list,.markdown:not(code) ol.ui.list ol,.markdown:not(code) ul.ui.list ul{padding-left:2em}
 | 
				
			||||||
.repository.wiki.revisions .ui.container>.ui.stackable.grid{flex-direction:row-reverse}
 | 
					.repository.wiki.revisions .ui.container>.ui.stackable.grid{flex-direction:row-reverse}
 | 
				
			||||||
.repository.wiki.revisions .ui.container>.ui.stackable.grid>.header{margin-top:0}
 | 
					.repository.wiki.revisions .ui.container>.ui.stackable.grid>.header{margin-top:0}
 | 
				
			||||||
.repository.wiki.revisions .ui.container>.ui.stackable.grid>.header .sub.header{padding-left:52px}
 | 
					.repository.wiki.revisions .ui.container>.ui.stackable.grid>.header .sub.header{padding-left:52px;word-break:break-word}
 | 
				
			||||||
.file-revisions-btn{display:block;float:left;margin-bottom:2px!important;padding:11px!important;margin-right:10px!important}
 | 
					.file-revisions-btn{display:block;float:left;margin-bottom:2px!important;padding:11px!important;margin-right:10px!important}
 | 
				
			||||||
.file-revisions-btn i{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
 | 
					.file-revisions-btn i{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
 | 
				
			||||||
.home .logo{max-width:220px}
 | 
					.home .logo{max-width:220px}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -505,6 +505,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            .sub.header {
 | 
					            .sub.header {
 | 
				
			||||||
                padding-left: 52px;
 | 
					                padding-left: 52px;
 | 
				
			||||||
 | 
					                word-break: break-word;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -248,9 +248,9 @@ func renderRevisionPage(ctx *context.Context) (*git.Repository, *git.TreeEntry)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// get Commit Count
 | 
						// get Commit Count
 | 
				
			||||||
	commitsHistory, err := wikiRepo.CommitsByFileAndRange("master", pageFilename, page)
 | 
						commitsHistory, err := wikiRepo.CommitsByFileAndRangeNoFollow("master", pageFilename, page)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		ctx.ServerError("CommitsByFileAndRange", err)
 | 
							ctx.ServerError("CommitsByFileAndRangeNoFollow", err)
 | 
				
			||||||
		return nil, nil
 | 
							return nil, nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	commitsHistory = models.ValidateCommitsWithEmails(commitsHistory)
 | 
						commitsHistory = models.ValidateCommitsWithEmails(commitsHistory)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,7 +31,7 @@
 | 
				
			|||||||
			<div class="ui header eight wide column">
 | 
								<div class="ui header eight wide column">
 | 
				
			||||||
				<a class="file-revisions-btn ui basic button" title="{{.i18n.Tr "repo.wiki.back_to_wiki"}}" href="{{.RepoLink}}/wiki/{{.PageURL}}" ><span>{{.revision}}</span> <i class="fa fa-fw fa-file-text-o"></i></a>
 | 
									<a class="file-revisions-btn ui basic button" title="{{.i18n.Tr "repo.wiki.back_to_wiki"}}" href="{{.RepoLink}}/wiki/{{.PageURL}}" ><span>{{.revision}}</span> <i class="fa fa-fw fa-file-text-o"></i></a>
 | 
				
			||||||
				{{$title}}
 | 
									{{$title}}
 | 
				
			||||||
				<div class="ui sub header">
 | 
									<div class="ui sub header wrap">
 | 
				
			||||||
					{{$timeSince := TimeSince .Author.When $.Lang}}
 | 
										{{$timeSince := TimeSince .Author.When $.Lang}}
 | 
				
			||||||
					{{.i18n.Tr "repo.wiki.last_commit_info" .Author.Name $timeSince | Safe}}
 | 
										{{.i18n.Tr "repo.wiki.last_commit_info" .Author.Name $timeSince | Safe}}
 | 
				
			||||||
				</div>
 | 
									</div>
 | 
				
			||||||
@@ -52,8 +52,9 @@
 | 
				
			|||||||
					<table class="ui very basic striped fixed table single line" id="commits-table">
 | 
										<table class="ui very basic striped fixed table single line" id="commits-table">
 | 
				
			||||||
						<thead>
 | 
											<thead>
 | 
				
			||||||
							<tr>
 | 
												<tr>
 | 
				
			||||||
								<th class="eight wide">{{.i18n.Tr "repo.commits.author"}}</th>
 | 
													<th class="four wide">{{.i18n.Tr "repo.commits.author"}}</th>
 | 
				
			||||||
								<th class="four wide sha">SHA1</th>
 | 
													<th class="tree wide sha">SHA1</th>
 | 
				
			||||||
 | 
													<th class="five wide message">{{.i18n.Tr "repo.commits.message"}}</th>
 | 
				
			||||||
								<th class="four wide">{{.i18n.Tr "repo.commits.date"}}</th>
 | 
													<th class="four wide">{{.i18n.Tr "repo.commits.date"}}</th>
 | 
				
			||||||
							</tr>
 | 
												</tr>
 | 
				
			||||||
						</thead>
 | 
											</thead>
 | 
				
			||||||
@@ -86,6 +87,15 @@
 | 
				
			|||||||
											{{end}}
 | 
																{{end}}
 | 
				
			||||||
										</label>
 | 
															</label>
 | 
				
			||||||
									</td>
 | 
														</td>
 | 
				
			||||||
 | 
														<td class="message">
 | 
				
			||||||
 | 
															<span class="message-wrapper">
 | 
				
			||||||
 | 
																<span class="commit-summary has-emoji{{if gt .ParentCount 1}} grey text{{end}}" title="{{.Summary}}">{{.Summary}}</span>
 | 
				
			||||||
 | 
																{{if IsMultilineCommitMessage .Message}}
 | 
				
			||||||
 | 
																<button class="basic compact mini ui icon button commit-button"><i class="ellipsis horizontal icon"></i></button>
 | 
				
			||||||
 | 
																<pre class="commit-body" style="display: none;">{{RenderCommitBody .Message $.RepoLink $.Repository.ComposeMetas}}</pre>
 | 
				
			||||||
 | 
																{{end}}
 | 
				
			||||||
 | 
															</span>
 | 
				
			||||||
 | 
														</td>
 | 
				
			||||||
									<td class="grey text">{{TimeSince .Author.When $.Lang}}</td>
 | 
														<td class="grey text">{{TimeSince .Author.When $.Lang}}</td>
 | 
				
			||||||
								</tr>
 | 
													</tr>
 | 
				
			||||||
							{{end}}
 | 
												{{end}}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user