Treat CloneCommand.setBranch(null) as setBranch("HEAD")
This method is documented to take a branch name (not a possibly null string). The only way a caller could have set null without either re-setting to a sane value afterward or producing NullPointerException was to also call setNoCheckout(true), in which case there would have been no reason to set the branch in the first place. Make setBranch(null) request the default behavior (remote's default branch) instead, imitating C git's clone --no-branch. Change-Id: I960e7046b8d5b5bc75c7f3688f3a075d3a951b00 Signed-off-by: Jonathan Nieder <jrn@google.com>
This commit is contained in:
parent
d2ade728a1
commit
852963db3b
|
@ -420,9 +420,15 @@ public CloneCommand setRemote(String remote) {
|
|||
* the initial branch to check out when cloning the repository.
|
||||
* Can be specified as ref name (<code>refs/heads/master</code>),
|
||||
* branch name (<code>master</code>) or tag name (<code>v1.2.3</code>).
|
||||
* The default is to use the branch pointed to by the cloned
|
||||
* repository's HEAD and can be requested by passing {@code null}
|
||||
* or <code>HEAD</code>.
|
||||
* @return this instance
|
||||
*/
|
||||
public CloneCommand setBranch(String branch) {
|
||||
if (branch == null) {
|
||||
branch = Constants.HEAD;
|
||||
}
|
||||
this.branch = branch;
|
||||
return this;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue