 
 (cl-defun straight-vc-git--validate-head-pushed (recipe)
   "Validate that in RECIPE's local repo, main branch is behind primary remote."
+  (unless (plist-member recipe :repo)
+    (cl-return-from straight-vc-git--validate-head-pushed t))
   (ignore
    (straight--with-plist recipe
        (local-repo branch)

     (straight--get-call
      "git" "remote" "add" remote desired-url))))

(defun straight-vc-git--validate-remotes (recipe)
  "Validate that repository for RECIPE has remotes set correctly.
RECIPE is a straight.el-style plist.

This means the primary remote and (if :upstream is provided)
upstream remote have their URLs set to the same as what is
specified in the RECIPE. The URLs do not necessarily need to
match exactly; they just have to satisfy
`straight-vc-git--urls-compatible-p'."
  (straight--with-plist recipe
      (local-repo repo host)
    (let ((desired-url (straight-vc-git--encode-url repo host)))

If FROM-UPSTREAM is non-nil, fetch from the upstream remote
instead, if one is configured. The FROM-UPSTREAM argument is not
part of the VC API."
  (unless (plist-member recipe :repo)
    (cl-return-from straight-vc-git-fetch-from-remote t))
  (straight--with-plist recipe
      (upstream)
    (unless (and from-upstream (null upstream))
