Commit 2ec30c80ae4d4d94a45f8213d425aae79ea54a84

Stefan Sperling 2020-03-20T20:23:18

make 'got fetch' create local branches if they don't exist yet

diff --git a/got/got.c b/got/got.c
index 8f68b8f..c73a14b 100644
--- a/got/got.c
+++ b/got/got.c
@@ -1494,6 +1494,17 @@ cmd_fetch(int argc, char *argv[])
 				if (error)
 					goto done;
 			}
+
+			/* Also create a local branch if none exists yet. */
+			error = got_ref_open(&ref, repo, refname, 0);
+			if (error) {
+				if (error->code != GOT_ERR_NOT_REF)
+					goto done;
+				error = create_ref(refname, id, id_str, repo);
+				if (error)
+					goto done;
+			} else
+				got_ref_close(ref);
 		}
 		free(id_str);
 		id_str = NULL;