mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 19:38:23 +00:00 
			
		
		
		
	* Implemented LFS client. * Implemented scanning for pointer files. * Implemented downloading of lfs files. * Moved model-dependent code into services. * Removed models dependency. Added TryReadPointerFromBuffer. * Migrated code from service to module. * Centralised storage creation. * Removed dependency from models. * Moved ContentStore into modules. * Share structs between server and client. * Moved method to services. * Implemented lfs download on clone. * Implemented LFS sync on clone and mirror update. * Added form fields. * Updated templates. * Fixed condition. * Use alternate endpoint. * Added missing methods. * Fixed typo and make linter happy. * Detached pointer parser from gogit dependency. * Fixed TestGetLFSRange test. * Added context to support cancellation. * Use ReadFull to probably read more data. * Removed duplicated code from models. * Moved scan implementation into pointer_scanner_nogogit. * Changed method name. * Added comments. * Added more/specific log/error messages. * Embedded lfs.Pointer into models.LFSMetaObject. * Moved code from models to module. * Moved code from models to module. * Moved code from models to module. * Reduced pointer usage. * Embedded type. * Use promoted fields. * Fixed unexpected eof. * Added unit tests. * Implemented migration of local file paths. * Show an error on invalid LFS endpoints. * Hide settings if not used. * Added LFS info to mirror struct. * Fixed comment. * Check LFS endpoint. * Manage LFS settings from mirror page. * Fixed selector. * Adjusted selector. * Added more tests. * Added local filesystem migration test. * Fixed typo. * Reset settings. * Added special windows path handling. * Added unit test for HTTPClient. * Added unit test for BasicTransferAdapter. * Moved into util package. * Test if LFS endpoint is allowed. * Added support for git:// * Just use a static placeholder as the displayed url may be invalid. * Reverted to original code. * Added "Advanced Settings". * Updated wording. * Added discovery info link. * Implemented suggestion. * Fixed missing format parameter. * Added Pointer.IsValid(). * Always remove model on error. * Added suggestions. * Use channel instead of array. * Update routers/repo/migrate.go * fmt Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: zeripath <art27@cantab.net>
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const $service = $('#service_type');
 | |
| const $user = $('#auth_username');
 | |
| const $pass = $('#auth_password');
 | |
| const $token = $('#auth_token');
 | |
| const $mirror = $('#mirror');
 | |
| const $lfs = $('#lfs');
 | |
| const $lfsSettings = $('#lfs_settings');
 | |
| const $lfsEndpoint = $('#lfs_endpoint');
 | |
| const $items = $('#migrate_items').find('input[type=checkbox]');
 | |
| 
 | |
| export default function initMigration() {
 | |
|   checkAuth();
 | |
|   setLFSSettingsVisibility();
 | |
| 
 | |
|   $user.on('keyup', () => {checkItems(false)});
 | |
|   $pass.on('keyup', () => {checkItems(false)});
 | |
|   $token.on('keyup', () => {checkItems(true)});
 | |
|   $mirror.on('change', () => {checkItems(true)});
 | |
|   $('#lfs_settings_show').on('click', () => { $lfsEndpoint.show(); return false });
 | |
|   $lfs.on('change', setLFSSettingsVisibility);
 | |
| 
 | |
|   const $cloneAddr = $('#clone_addr');
 | |
|   $cloneAddr.on('change', () => {
 | |
|     const $repoName = $('#repo_name');
 | |
|     if ($cloneAddr.val().length > 0 && $repoName.val().length === 0) { // Only modify if repo_name input is blank
 | |
|       $repoName.val($cloneAddr.val().match(/^(.*\/)?((.+?)(\.git)?)$/)[3]);
 | |
|     }
 | |
|   });
 | |
| }
 | |
| 
 | |
| function checkAuth() {
 | |
|   const serviceType = $service.val();
 | |
| 
 | |
|   checkItems(serviceType !== 1);
 | |
| }
 | |
| 
 | |
| function checkItems(tokenAuth) {
 | |
|   let enableItems;
 | |
|   if (tokenAuth) {
 | |
|     enableItems = $token.val() !== '';
 | |
|   } else {
 | |
|     enableItems = $user.val() !== '' || $pass.val() !== '';
 | |
|   }
 | |
|   if (enableItems && $service.val() > 1) {
 | |
|     if ($mirror.is(':checked')) {
 | |
|       $items.not('[name="wiki"]').attr('disabled', true);
 | |
|       $items.filter('[name="wiki"]').attr('disabled', false);
 | |
|       return;
 | |
|     }
 | |
|     $items.attr('disabled', false);
 | |
|   } else {
 | |
|     $items.attr('disabled', true);
 | |
|   }
 | |
| }
 | |
| 
 | |
| function setLFSSettingsVisibility() {
 | |
|   const visible = $lfs.is(':checked');
 | |
|   $lfsSettings.toggle(visible);
 | |
|   $lfsEndpoint.hide();
 | |
| }
 |