Fix regression: can fetch branches and tags references without specifying commit hashes for private git repository used as context (#1823)
* [FIX] can fetch tags and branches refs without specifying commit hashes * [ENH] more precise comment
This commit is contained in:
		
							parent
							
								
									e38b0c8d90
								
							
						
					
					
						commit
						d2f3e896cd
					
				|  | @ -68,11 +68,19 @@ func (g *Git) UnpackTarFromBuildContext() (string, error) { | |||
| 		RecurseSubmodules: getRecurseSubmodules(g.opts.GitRecurseSubmodules), | ||||
| 	} | ||||
| 	var fetchRef string | ||||
| 	var checkoutRef string | ||||
| 	if len(parts) > 1 { | ||||
| 		if plumbing.IsHash(parts[1]) || !strings.HasPrefix(parts[1], "refs/pull/") { | ||||
| 			// Handle any non-branch refs separately. First, clone the repo HEAD, and
 | ||||
| 			// then fetch and check out the fetchRef.
 | ||||
| 			fetchRef = parts[1] | ||||
| 			if plumbing.IsHash(parts[1]) { | ||||
| 				checkoutRef = fetchRef | ||||
| 			} else { | ||||
| 				// The ReferenceName still needs to be present in the options passed
 | ||||
| 				// to the clone operation for non-hash references of private repositories.
 | ||||
| 				options.ReferenceName = plumbing.ReferenceName(fetchRef) | ||||
| 			} | ||||
| 		} else { | ||||
| 			// Branches will be cloned directly.
 | ||||
| 			options.ReferenceName = plumbing.ReferenceName(parts[1]) | ||||
|  | @ -104,7 +112,6 @@ func (g *Git) UnpackTarFromBuildContext() (string, error) { | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	checkoutRef := fetchRef | ||||
| 	if len(parts) > 2 { | ||||
| 		checkoutRef = parts[2] | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue