Commit Diff


commit - 2fb669fbbb380829c73db7047672204daa96de3c
commit + 2ec30c80ae4d4d94a45f8213d425aae79ea54a84
blob - 8f68b8f6eb2e3f063c6ad019c2d4de647a75e3f2
blob + c73a14ba3c012dc9cd1e9bbd417ae85ee77f4542
--- got/got.c
+++ 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;