builtins.fetchgit: Use proper refs locally
This commit is contained in:
		
							parent
							
								
									6d7de7f3de
								
							
						
					
					
						commit
						69deca194e
					
				
					 1 changed files with 3 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -20,15 +20,14 @@ Path exportGit(ref<Store> store, const std::string & uri, const std::string & re
 | 
			
		|||
 | 
			
		||||
    //Activity act(*logger, lvlInfo, format("fetching Git repository ‘%s’") % uri);
 | 
			
		||||
 | 
			
		||||
    std::string localRef = "pid-" + std::to_string(getpid());
 | 
			
		||||
    std::string localRef = hashString(htSHA256, fmt("%s-%s", uri, rev)).to_string(Base32, false);
 | 
			
		||||
 | 
			
		||||
    Path localRefFile = cacheDir + "/refs/heads/" + localRef;
 | 
			
		||||
 | 
			
		||||
    runProgram("git", true, { "-C", cacheDir, "fetch", uri, rev + ":" + localRef });
 | 
			
		||||
    runProgram("git", true, { "-C", cacheDir, "fetch", "--force", uri, rev + ":" + localRef });
 | 
			
		||||
 | 
			
		||||
    std::string commitHash = chomp(readFile(localRefFile));
 | 
			
		||||
 | 
			
		||||
    unlink(localRefFile.c_str());
 | 
			
		||||
 | 
			
		||||
    printTalkative("using revision %s of repo ‘%s’", uri, commitHash);
 | 
			
		||||
 | 
			
		||||
    Path storeLink = cacheDir + "/" + commitHash + ".link";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue