mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	git-storage: fix up old broken local caches to use the right branch
If you had one of the unfortunate local git caches with a local HEAD just pointing to 'master', this will make note of that and then fix it up to use the proper branch name in the cache repository. [Dirk Hohndel: demoted from error to fprintf as most users won't care] Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									433149af19
								
							
						
					
					
						commit
						f4ffd7a8fb
					
				
					 1 changed files with 16 additions and 0 deletions
				
			
		|  | @ -652,6 +652,7 @@ static git_repository *update_local_repo(const char *localdir, const char *remot | |||
| { | ||||
| 	int error; | ||||
| 	git_repository *repo = NULL; | ||||
| 	git_reference *head; | ||||
| 
 | ||||
| 	if (verbose) | ||||
| 		fprintf(stderr, "git storage: update local repo\n"); | ||||
|  | @ -664,6 +665,21 @@ static git_repository *update_local_repo(const char *localdir, const char *remot | |||
| 			report_error("Unable to open git cache repository at %s: %s", localdir, giterr_last()->message); | ||||
| 		return NULL; | ||||
| 	} | ||||
| 
 | ||||
| 	/* Check the HEAD being the right branch */ | ||||
| 	if (!git_repository_head(&head, repo)) { | ||||
| 		const char *name; | ||||
| 		if (!git_branch_name(&name, head)) { | ||||
| 			if (strcmp(name, branch)) { | ||||
| 				char *branchref = format_string("refs/heads/%s", branch); | ||||
| 				fprintf(stderr, "Setting cache branch from '%s' to '%s'", name, branch); | ||||
| 				git_repository_set_head(repo, branchref); | ||||
| 				free(branchref); | ||||
| 			} | ||||
| 		} | ||||
| 		git_reference_free(head); | ||||
| 	} | ||||
| 
 | ||||
| 	if (!git_local_only) | ||||
| 		sync_with_remote(repo, remote, branch, rt); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue