Commit Diff


commit - 5465d566c3b5b09fda1377dd522bea61c4b5a0b8
commit + 6201aef37bbf2daa3a7863f08751a08392855c85
blob - f20acaa2c866a5adc7706da88c87e8d7e506581b
blob + 17a07a2e89038439f7620a85b41050549a954ea8
--- lib/worktree.c
+++ lib/worktree.c
@@ -1892,7 +1892,8 @@ checkout_files(struct got_worktree *worktree, struct g
 
 	err = ref_base_commit(worktree, repo);
 	if (err) {
-		if (!(err->code == GOT_ERR_ERRNO && errno == EACCES))
+		if (!(err->code == GOT_ERR_ERRNO &&
+		    (errno == EACCES || errno == EROFS)))
 			goto done;
 		err = (*progress_cb)(progress_arg,
 		    GOT_STATUS_BASE_REF_ERR, worktree->root_path);