|  |  | @@ -79,206 +79,212 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				{{ctx.Locale.Tr "repo.settings.mirror_settings"}} |  |  |  | 				{{ctx.Locale.Tr "repo.settings.mirror_settings"}} | 
			
		
	
		
		
			
				
					
					|  |  |  | 			</h4> |  |  |  | 			</h4> | 
			
		
	
		
		
			
				
					
					|  |  |  | 			<div class="ui attached segment"> |  |  |  | 			<div class="ui attached segment"> | 
			
		
	
		
		
			
				
					
					|  |  |  | 				{{if $newMirrorsEntirelyEnabled}} |  |  |  | 				{{if .Repository.IsArchived}} | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 					{{ctx.Locale.Tr "repo.settings.mirror_settings.docs"}} |  |  |  | 					<div class="ui warning message gt-text-center"> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 					<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/usage/repo-mirror#pushing-to-a-remote-repository">{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}</a><br><br> |  |  |  | 						{{ctx.Locale.Tr "repo.settings.archive.mirrors_unavailable"}} | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 					{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.pull_mirror_instructions"}} |  |  |  | 					</div> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 					<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/usage/repo-mirror#pulling-from-a-remote-repository">{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.doc_link_pull_section"}}</a><br> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 				{{else if $onlyNewPushMirrorsEnabled}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.disabled_pull_mirror.instructions"}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.more_information_if_disabled"}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/usage/repo-mirror#pulling-from-a-remote-repository">{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}</a><br> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 				{{else if $onlyNewPullMirrorsEnabled}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.disabled_push_mirror.instructions"}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning"}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.more_information_if_disabled"}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/usage/repo-mirror#pulling-from-a-remote-repository">{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}</a><br><br> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.disabled_push_mirror.info"}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{if $existingPushMirror}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.can_still_use"}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{end}} |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 				{{else}} |  |  |  | 				{{else}} | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.no_new_mirrors"}} {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.can_still_use"}}<br> |  |  |  | 					{{if $newMirrorsEntirelyEnabled}} | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 				{{end}} |  |  |  | 						{{ctx.Locale.Tr "repo.settings.mirror_settings.docs"}} | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 				<table class="ui table"> |  |  |  | 						<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/usage/repo-mirror#pushing-to-a-remote-repository">{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}</a><br><br> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 					{{if $existingPushMirror}} |  |  |  | 						{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.pull_mirror_instructions"}} | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 					<thead> |  |  |  | 						<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/usage/repo-mirror#pulling-from-a-remote-repository">{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.doc_link_pull_section"}}</a><br> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 						<tr> |  |  |  | 					{{else if $onlyNewPushMirrorsEnabled}} | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 							<th style="width:40%">{{ctx.Locale.Tr "repo.settings.mirror_settings.mirrored_repository"}}</th> |  |  |  | 						{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.disabled_pull_mirror.instructions"}} | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 							<th>{{ctx.Locale.Tr "repo.settings.mirror_settings.direction"}}</th> |  |  |  | 						{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.more_information_if_disabled"}} | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 							<th>{{ctx.Locale.Tr "repo.settings.mirror_settings.last_update"}}</th> |  |  |  | 						<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/usage/repo-mirror#pulling-from-a-remote-repository">{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}</a><br> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 							<th></th> |  |  |  | 					{{else if $onlyNewPullMirrorsEnabled}} | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 						</tr> |  |  |  | 						{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.disabled_push_mirror.instructions"}} | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 					</thead> |  |  |  | 						{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning"}} | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.more_information_if_disabled"}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/usage/repo-mirror#pulling-from-a-remote-repository">{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}</a><br><br> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.disabled_push_mirror.info"}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						{{if $existingPushMirror}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.can_still_use"}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						{{end}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					{{else}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						{{ctx.Locale.Tr "repo.settings.mirror_settings.docs.no_new_mirrors"}} {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.can_still_use"}}<br> | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{end}} |  |  |  | 					{{end}} | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{if $modifyBrokenPullMirror}} |  |  |  | 					<table class="ui table"> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 						{{/* even if a repo is a pull mirror (IsMirror=true), the PullMirror might still be nil if the mirror migration is broken */}} |  |  |  | 						{{if $existingPushMirror}} | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						<thead> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							<tr> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<th style="width:40%">{{ctx.Locale.Tr "repo.settings.mirror_settings.mirrored_repository"}}</th> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<th>{{ctx.Locale.Tr "repo.settings.mirror_settings.direction"}}</th> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<th>{{ctx.Locale.Tr "repo.settings.mirror_settings.last_update"}}</th> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<th></th> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							</tr> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						</thead> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						{{end}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						{{if $modifyBrokenPullMirror}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							{{/* even if a repo is a pull mirror (IsMirror=true), the PullMirror might still be nil if the mirror migration is broken */}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							<tbody> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<tr> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									<td colspan="4"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<div class="text red gt-py-4 gt-border-secondary-bottom">{{ctx.Locale.Tr "repo.settings.mirror_settings.direction.pull"}}: {{ctx.Locale.Tr "error.occurred"}}</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									</td> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								</tr> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							</tbody> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						{{else if $isWorkingPullMirror}} | 
			
		
	
		
		
			
				
					
					|  |  |  | 						<tbody> |  |  |  | 						<tbody> | 
			
		
	
		
		
			
				
					
					|  |  |  | 							<tr> |  |  |  | 							<tr> | 
			
		
	
		
		
			
				
					
					|  |  |  | 								<td colspan="4"> |  |  |  | 								<td>{{.PullMirror.RemoteAddress}}</td> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 									<div class="text red gt-py-4 gt-border-secondary-bottom">{{ctx.Locale.Tr "repo.settings.mirror_settings.direction.pull"}}: {{ctx.Locale.Tr "error.occurred"}}</div> |  |  |  | 								<td>{{ctx.Locale.Tr "repo.settings.mirror_settings.direction.pull"}}</td> | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<td>{{DateTime "full" .PullMirror.UpdatedUnix}}</td> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<td class="right aligned"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									<form method="post" class="gt-dib"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										{{.CsrfTokenHtml}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<input type="hidden" name="action" value="mirror-sync"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<button class="ui primary tiny button inline text-thin">{{ctx.Locale.Tr "repo.settings.sync_mirror"}}</button> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									</form> | 
			
		
	
		
		
			
				
					
					|  |  |  | 								</td> |  |  |  | 								</td> | 
			
		
	
		
		
			
				
					
					|  |  |  | 							</tr> |  |  |  | 							</tr> | 
			
		
	
		
		
			
				
					
					|  |  |  | 						</tbody> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{else if $isWorkingPullMirror}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					<tbody> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						<tr> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							<td>{{.PullMirror.RemoteAddress}}</td> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							<td>{{ctx.Locale.Tr "repo.settings.mirror_settings.direction.pull"}}</td> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							<td>{{DateTime "full" .PullMirror.UpdatedUnix}}</td> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							<td class="right aligned"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 								<form method="post" class="gt-dib"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									{{.CsrfTokenHtml}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<input type="hidden" name="action" value="mirror-sync"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<button class="ui primary tiny button inline text-thin">{{ctx.Locale.Tr "repo.settings.sync_mirror"}}</button> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 								</form> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							</td> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						</tr> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						<tr> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							<td colspan="4"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 								<form class="ui form" method="post"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									{{template "base/disable_form_autofill"}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									{{.CsrfTokenHtml}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<input type="hidden" name="action" value="mirror"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<div class="inline field {{if .Err_EnablePrune}}error{{end}}"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<label>{{ctx.Locale.Tr "repo.mirror_prune"}}</label> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<div class="ui checkbox"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<input id="enable_prune" name="enable_prune" type="checkbox" {{if .PullMirror.EnablePrune}}checked{{end}}> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<label>{{ctx.Locale.Tr "repo.mirror_prune_desc"}}</label> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										</div> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									</div> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<div class="inline field {{if .Err_Interval}}error{{end}}"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<label for="interval">{{ctx.Locale.Tr "repo.mirror_interval" .MinimumMirrorInterval}}</label> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<input id="interval" name="interval" value="{{.PullMirror.Interval}}"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									</div> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									{{$address := MirrorRemoteAddress $.Context .Repository .PullMirror.GetRemoteName false}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<div class="field {{if .Err_MirrorAddress}}error{{end}}"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<label for="mirror_address">{{ctx.Locale.Tr "repo.mirror_address"}}</label> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<input id="mirror_address" name="mirror_address" value="{{$address.Address}}" required> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<p class="help">{{ctx.Locale.Tr "repo.mirror_address_desc"}}</p> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									</div> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<details class="ui optional field" {{if or .Err_Auth $address.Username}}open{{end}}> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<summary class="gt-p-2"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 											{{ctx.Locale.Tr "repo.need_auth"}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										</summary> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<div class="gt-p-2"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 											<div class="inline field {{if .Err_Auth}}error{{end}}"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 												<label for="mirror_username">{{ctx.Locale.Tr "username"}}</label> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 												<input id="mirror_username" name="mirror_username" value="{{$address.Username}}" {{if not .mirror_username}}data-need-clear="true"{{end}}> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 											</div> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 											<div class="inline field {{if .Err_Auth}}error{{end}}"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 												<label for="mirror_password">{{ctx.Locale.Tr "password"}}</label> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 												<input id="mirror_password" name="mirror_password" type="password" placeholder="{{if $address.Password}}{{ctx.Locale.Tr "repo.mirror_password_placeholder"}}{{else}}{{ctx.Locale.Tr "repo.mirror_password_blank_placeholder"}}{{end}}" value="" {{if not .mirror_password}}data-need-clear="true"{{end}} autocomplete="off"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 											</div> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 											<p class="help">{{ctx.Locale.Tr "repo.mirror_password_help"}}</p> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										</div> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									</details> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									{{if .LFSStartServer}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<div class="inline field"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<label>{{ctx.Locale.Tr "repo.mirror_lfs"}}</label> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<div class="ui checkbox"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 											<input id="mirror_lfs" name="mirror_lfs" type="checkbox" {{if .PullMirror.LFS}}checked{{end}}> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 											<label>{{ctx.Locale.Tr "repo.mirror_lfs_desc"}}</label> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										</div> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									</div> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<div class="field {{if .Err_LFSEndpoint}}error{{end}}"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<label for="mirror_lfs_endpoint">{{ctx.Locale.Tr "repo.mirror_lfs_endpoint"}}</label> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<input id="mirror_lfs_endpoint" name="mirror_lfs_endpoint" value="{{.PullMirror.LFSEndpoint}}" placeholder="{{ctx.Locale.Tr "repo.migrate_options_lfs_endpoint.placeholder"}}"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<p class="help">{{ctx.Locale.Tr "repo.mirror_lfs_endpoint_desc" "https://github.com/git-lfs/git-lfs/blob/main/docs/api/server-discovery.md#server-discovery" | Str2html}}</p> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									</div> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									{{end}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<div class="field"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<button class="ui primary button">{{ctx.Locale.Tr "repo.settings.update_mirror_settings"}}</button> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									</div> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 								</form> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							</td> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						</tr> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					</tbody> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					<thead><tr><th colspan="4"></th></tr></thead> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					{{end}}{{/* end if: IsMirror */}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					<tbody> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						{{range .PushMirrors}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						<tr> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							<td class="gt-word-break">{{.RemoteAddress}}</td> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							<td>{{ctx.Locale.Tr "repo.settings.mirror_settings.direction.push"}}</td> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							<td>{{if .LastUpdateUnix}}{{DateTime "full" .LastUpdateUnix}}{{else}}{{ctx.Locale.Tr "never"}}{{end}} {{if .LastError}}<div class="ui red label" data-tooltip-content="{{.LastError}}">{{ctx.Locale.Tr "error"}}</div>{{end}}</td> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							<td class="right aligned"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 								<button |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									class="ui tiny button show-modal" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									data-modal="#push-mirror-edit-modal" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									data-tooltip-content="{{ctx.Locale.Tr "repo.settings.mirror_settings.push_mirror.edit_sync_time"}}" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									data-modal-push-mirror-edit-id="{{.ID}}" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									data-modal-push-mirror-edit-interval="{{.Interval}}" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									data-modal-push-mirror-edit-address="{{.RemoteAddress}}" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 								> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									{{svg "octicon-pencil" 14}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 								</button> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 								<form method="post" class="gt-dib"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									{{$.CsrfTokenHtml}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<input type="hidden" name="action" value="push-mirror-sync"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<input type="hidden" name="push_mirror_id" value="{{.ID}}"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<button class="ui primary tiny button" data-tooltip-content="{{ctx.Locale.Tr "repo.settings.sync_mirror"}}">{{svg "octicon-sync" 14}}</button> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 								</form> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 								<form method="post" class="gt-dib"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									{{$.CsrfTokenHtml}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<input type="hidden" name="action" value="push-mirror-remove"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<input type="hidden" name="push_mirror_id" value="{{.ID}}"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<button class="ui basic red tiny button" data-tooltip-content="{{ctx.Locale.Tr "remove"}}">{{svg "octicon-trash" 14}}</button> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 								</form> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							</td> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						</tr> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						{{else}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						<tr> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							<td>{{ctx.Locale.Tr "repo.settings.mirror_settings.push_mirror.none"}}</td> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						</tr> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						{{end}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 						{{if (not .DisableNewPushMirrors)}} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 							<tr> |  |  |  | 							<tr> | 
			
		
	
		
		
			
				
					
					|  |  |  | 								<td colspan="4"> |  |  |  | 								<td colspan="4"> | 
			
		
	
		
		
			
				
					
					|  |  |  | 									<form class="ui form" method="post"> |  |  |  | 									<form class="ui form" method="post"> | 
			
		
	
		
		
			
				
					
					|  |  |  | 										{{template "base/disable_form_autofill"}} |  |  |  | 										{{template "base/disable_form_autofill"}} | 
			
		
	
		
		
			
				
					
					|  |  |  | 										{{.CsrfTokenHtml}} |  |  |  | 										{{.CsrfTokenHtml}} | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<input type="hidden" name="action" value="push-mirror-add"> |  |  |  | 										<input type="hidden" name="action" value="mirror"> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 										<div class="field {{if .Err_PushMirrorAddress}}error{{end}}"> |  |  |  | 										<div class="inline field {{if .Err_EnablePrune}}error{{end}}"> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 											<label for="push_mirror_address">{{ctx.Locale.Tr "repo.settings.mirror_settings.push_mirror.remote_url"}}</label> |  |  |  | 											<label>{{ctx.Locale.Tr "repo.mirror_prune"}}</label> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 											<input id="push_mirror_address" name="push_mirror_address" value="{{.push_mirror_address}}" required> |  |  |  | 											<div class="ui checkbox"> | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<input id="enable_prune" name="enable_prune" type="checkbox" {{if .PullMirror.EnablePrune}}checked{{end}}> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<label>{{ctx.Locale.Tr "repo.mirror_prune_desc"}}</label> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<div class="inline field {{if .Err_Interval}}error{{end}}"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											<label for="interval">{{ctx.Locale.Tr "repo.mirror_interval" .MinimumMirrorInterval}}</label> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											<input id="interval" name="interval" value="{{.PullMirror.Interval}}"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										{{$address := MirrorRemoteAddress $.Context .Repository .PullMirror.GetRemoteName false}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<div class="field {{if .Err_MirrorAddress}}error{{end}}"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											<label for="mirror_address">{{ctx.Locale.Tr "repo.mirror_address"}}</label> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											<input id="mirror_address" name="mirror_address" value="{{$address.Address}}" required> | 
			
		
	
		
		
			
				
					
					|  |  |  | 											<p class="help">{{ctx.Locale.Tr "repo.mirror_address_desc"}}</p> |  |  |  | 											<p class="help">{{ctx.Locale.Tr "repo.mirror_address_desc"}}</p> | 
			
		
	
		
		
			
				
					
					|  |  |  | 										</div> |  |  |  | 										</div> | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<details class="ui optional field" {{if or .Err_PushMirrorAuth .push_mirror_username}}open{{end}}> |  |  |  | 										<details class="ui optional field" {{if or .Err_Auth $address.Username}}open{{end}}> | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 											<summary class="gt-p-2"> |  |  |  | 											<summary class="gt-p-2"> | 
			
		
	
		
		
			
				
					
					|  |  |  | 												{{ctx.Locale.Tr "repo.need_auth"}} |  |  |  | 												{{ctx.Locale.Tr "repo.need_auth"}} | 
			
		
	
		
		
			
				
					
					|  |  |  | 											</summary> |  |  |  | 											</summary> | 
			
		
	
		
		
			
				
					
					|  |  |  | 											<div class="gt-p-2"> |  |  |  | 											<div class="gt-p-2"> | 
			
		
	
		
		
			
				
					
					|  |  |  | 												<div class="inline field {{if .Err_PushMirrorAuth}}error{{end}}"> |  |  |  | 												<div class="inline field {{if .Err_Auth}}error{{end}}"> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 													<label for="push_mirror_username">{{ctx.Locale.Tr "username"}}</label> |  |  |  | 													<label for="mirror_username">{{ctx.Locale.Tr "username"}}</label> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 													<input id="push_mirror_username" name="push_mirror_username" value="{{.push_mirror_username}}"> |  |  |  | 													<input id="mirror_username" name="mirror_username" value="{{$address.Username}}" {{if not .mirror_username}}data-need-clear="true"{{end}}> | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 												</div> |  |  |  | 												</div> | 
			
		
	
		
		
			
				
					
					|  |  |  | 												<div class="inline field {{if .Err_PushMirrorAuth}}error{{end}}"> |  |  |  | 												<div class="inline field {{if .Err_Auth}}error{{end}}"> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 													<label for="push_mirror_password">{{ctx.Locale.Tr "password"}}</label> |  |  |  | 													<label for="mirror_password">{{ctx.Locale.Tr "password"}}</label> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 													<input id="push_mirror_password" name="push_mirror_password" type="password" value="{{.push_mirror_password}}" autocomplete="off"> |  |  |  | 													<input id="mirror_password" name="mirror_password" type="password" placeholder="{{if $address.Password}}{{ctx.Locale.Tr "repo.mirror_password_placeholder"}}{{else}}{{ctx.Locale.Tr "repo.mirror_password_blank_placeholder"}}{{end}}" value="" {{if not .mirror_password}}data-need-clear="true"{{end}} autocomplete="off"> | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 												</div> |  |  |  | 												</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												<p class="help">{{ctx.Locale.Tr "repo.mirror_password_help"}}</p> | 
			
		
	
		
		
			
				
					
					|  |  |  | 											</div> |  |  |  | 											</div> | 
			
		
	
		
		
			
				
					
					|  |  |  | 										</details> |  |  |  | 										</details> | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<div class="field"> |  |  |  |  | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										{{if .LFSStartServer}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<div class="inline field"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											<label>{{ctx.Locale.Tr "repo.mirror_lfs"}}</label> | 
			
		
	
		
		
			
				
					
					|  |  |  | 											<div class="ui checkbox"> |  |  |  | 											<div class="ui checkbox"> | 
			
		
	
		
		
			
				
					
					|  |  |  | 												<input id="push_mirror_sync_on_commit" name="push_mirror_sync_on_commit" type="checkbox" {{if .push_mirror_sync_on_commit}}checked{{end}}> |  |  |  | 												<input id="mirror_lfs" name="mirror_lfs" type="checkbox" {{if .PullMirror.LFS}}checked{{end}}> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 												<label for="push_mirror_sync_on_commit">{{ctx.Locale.Tr "repo.mirror_sync_on_commit"}}</label> |  |  |  | 												<label>{{ctx.Locale.Tr "repo.mirror_lfs_desc"}}</label> | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 											</div> |  |  |  | 											</div> | 
			
		
	
		
		
			
				
					
					|  |  |  | 										</div> |  |  |  | 										</div> | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<div class="inline field {{if .Err_PushMirrorInterval}}error{{end}}"> |  |  |  | 										<div class="field {{if .Err_LFSEndpoint}}error{{end}}"> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 											<label for="push_mirror_interval">{{ctx.Locale.Tr "repo.mirror_interval" .MinimumMirrorInterval}}</label> |  |  |  | 											<label for="mirror_lfs_endpoint">{{ctx.Locale.Tr "repo.mirror_lfs_endpoint"}}</label> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 											<input id="push_mirror_interval" name="push_mirror_interval" value="{{if .push_mirror_interval}}{{.push_mirror_interval}}{{else}}{{.DefaultMirrorInterval}}{{end}}"> |  |  |  | 											<input id="mirror_lfs_endpoint" name="mirror_lfs_endpoint" value="{{.PullMirror.LFSEndpoint}}" placeholder="{{ctx.Locale.Tr "repo.migrate_options_lfs_endpoint.placeholder"}}"> | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											<p class="help">{{ctx.Locale.Tr "repo.mirror_lfs_endpoint_desc" "https://github.com/git-lfs/git-lfs/blob/main/docs/api/server-discovery.md#server-discovery" | Str2html}}</p> | 
			
		
	
		
		
			
				
					
					|  |  |  | 										</div> |  |  |  | 										</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										{{end}} | 
			
		
	
		
		
			
				
					
					|  |  |  | 										<div class="field"> |  |  |  | 										<div class="field"> | 
			
		
	
		
		
			
				
					
					|  |  |  | 											<button class="ui primary button">{{ctx.Locale.Tr "repo.settings.mirror_settings.push_mirror.add"}}</button> |  |  |  | 											<button class="ui primary button">{{ctx.Locale.Tr "repo.settings.update_mirror_settings"}}</button> | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 										</div> |  |  |  | 										</div> | 
			
		
	
		
		
			
				
					
					|  |  |  | 									</form> |  |  |  | 									</form> | 
			
		
	
		
		
			
				
					
					|  |  |  | 								</td> |  |  |  | 								</td> | 
			
		
	
		
		
			
				
					
					|  |  |  | 							</tr> |  |  |  | 							</tr> | 
			
		
	
		
		
			
				
					
					|  |  |  | 						{{end}} |  |  |  | 						</tbody> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 					</tbody> |  |  |  | 						<thead><tr><th colspan="4"></th></tr></thead> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 				</table> |  |  |  | 						{{end}}{{/* end if: IsMirror */}} | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						<tbody> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							{{range .PushMirrors}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							<tr> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<td class="gt-word-break">{{.RemoteAddress}}</td> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<td>{{ctx.Locale.Tr "repo.settings.mirror_settings.direction.push"}}</td> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<td>{{if .LastUpdateUnix}}{{DateTime "full" .LastUpdateUnix}}{{else}}{{ctx.Locale.Tr "never"}}{{end}} {{if .LastError}}<div class="ui red label" data-tooltip-content="{{.LastError}}">{{ctx.Locale.Tr "error"}}</div>{{end}}</td> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<td class="right aligned"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									<button | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										class="ui tiny button show-modal" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										data-modal="#push-mirror-edit-modal" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										data-tooltip-content="{{ctx.Locale.Tr "repo.settings.mirror_settings.push_mirror.edit_sync_time"}}" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										data-modal-push-mirror-edit-id="{{.ID}}" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										data-modal-push-mirror-edit-interval="{{.Interval}}" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										data-modal-push-mirror-edit-address="{{.RemoteAddress}}" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										{{svg "octicon-pencil" 14}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									</button> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									<form method="post" class="gt-dib"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										{{$.CsrfTokenHtml}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<input type="hidden" name="action" value="push-mirror-sync"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<input type="hidden" name="push_mirror_id" value="{{.ID}}"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<button class="ui primary tiny button" data-tooltip-content="{{ctx.Locale.Tr "repo.settings.sync_mirror"}}">{{svg "octicon-sync" 14}}</button> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									</form> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									<form method="post" class="gt-dib"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										{{$.CsrfTokenHtml}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<input type="hidden" name="action" value="push-mirror-remove"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<input type="hidden" name="push_mirror_id" value="{{.ID}}"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<button class="ui basic red tiny button" data-tooltip-content="{{ctx.Locale.Tr "remove"}}">{{svg "octicon-trash" 14}}</button> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									</form> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								</td> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							</tr> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							{{else}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							<tr> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<td>{{ctx.Locale.Tr "repo.settings.mirror_settings.push_mirror.none"}}</td> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							</tr> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							{{end}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							{{if (not .DisableNewPushMirrors)}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								<tr> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									<td colspan="4"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										<form class="ui form" method="post"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											{{template "base/disable_form_autofill"}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											{{.CsrfTokenHtml}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											<input type="hidden" name="action" value="push-mirror-add"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											<div class="field {{if .Err_PushMirrorAddress}}error{{end}}"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												<label for="push_mirror_address">{{ctx.Locale.Tr "repo.settings.mirror_settings.push_mirror.remote_url"}}</label> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												<input id="push_mirror_address" name="push_mirror_address" value="{{.push_mirror_address}}" required> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												<p class="help">{{ctx.Locale.Tr "repo.mirror_address_desc"}}</p> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											<details class="ui optional field" {{if or .Err_PushMirrorAuth .push_mirror_username}}open{{end}}> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												<summary class="gt-p-2"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 													{{ctx.Locale.Tr "repo.need_auth"}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												</summary> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												<div class="gt-p-2"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 													<div class="inline field {{if .Err_PushMirrorAuth}}error{{end}}"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 														<label for="push_mirror_username">{{ctx.Locale.Tr "username"}}</label> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 														<input id="push_mirror_username" name="push_mirror_username" value="{{.push_mirror_username}}"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 													</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 													<div class="inline field {{if .Err_PushMirrorAuth}}error{{end}}"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 														<label for="push_mirror_password">{{ctx.Locale.Tr "password"}}</label> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 														<input id="push_mirror_password" name="push_mirror_password" type="password" value="{{.push_mirror_password}}" autocomplete="off"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 													</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											</details> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											<div class="field"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												<div class="ui checkbox"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 													<input id="push_mirror_sync_on_commit" name="push_mirror_sync_on_commit" type="checkbox" {{if .push_mirror_sync_on_commit}}checked{{end}}> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 													<label for="push_mirror_sync_on_commit">{{ctx.Locale.Tr "repo.mirror_sync_on_commit"}}</label> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											<div class="inline field {{if .Err_PushMirrorInterval}}error{{end}}"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												<label for="push_mirror_interval">{{ctx.Locale.Tr "repo.mirror_interval" .MinimumMirrorInterval}}</label> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												<input id="push_mirror_interval" name="push_mirror_interval" value="{{if .push_mirror_interval}}{{.push_mirror_interval}}{{else}}{{.DefaultMirrorInterval}}{{end}}"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											<div class="field"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 												<button class="ui primary button">{{ctx.Locale.Tr "repo.settings.mirror_settings.push_mirror.add"}}</button> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											</div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 										</form> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 									</td> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 								</tr> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							{{end}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						</tbody> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					</table> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				{{end}} | 
			
		
	
		
		
			
				
					
					|  |  |  | 			</div> |  |  |  | 			</div> | 
			
		
	
		
		
			
				
					
					|  |  |  | 		{{end}} |  |  |  | 		{{end}} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
	
		
		
			
				
					
					|  |  |   |