stop allowing empty send {} or fetch {} blocks; yacc complained about grammar yacc has been complaining about "shift/reduce conflicts" since commit 16c4be8c1cab9456f9dd0468c27f8ab73235737e Revert that change for now. Not sure how it can be done properly. In any case, allowing empty config blocks is not very important.
diff --git a/libexec/got-read-gotconfig/parse.y b/libexec/got-read-gotconfig/parse.y
index dba9481..842552a 100644
--- a/libexec/got-read-gotconfig/parse.y
+++ b/libexec/got-read-gotconfig/parse.y
@@ -263,8 +263,7 @@ remoteopts1 : REPOSITORY STRING {
fetchopts2 : fetchopts2 fetchopts1 nl
| fetchopts1 optnl
;
-fetchopts1 : /* empty */
- | REPOSITORY STRING {
+fetchopts1 : REPOSITORY STRING {
remote->fetch_config->repository = strdup($2);
if (remote->fetch_config->repository == NULL) {
free($2);
@@ -301,8 +300,7 @@ fetchopts1 : /* empty */
sendopts2 : sendopts2 sendopts1 nl
| sendopts1 optnl
;
-sendopts1 : /* empty */
- | REPOSITORY STRING {
+sendopts1 : REPOSITORY STRING {
remote->send_config->repository = strdup($2);
if (remote->send_config->repository == NULL) {
free($2);