magit / forge

Work with Git forges from the comfort of Magit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error when adding a repository using `N a`

offbyone opened this issue · comments

I expect the forge to be added, so that I can view pull requests. Instead, what I get is this error message in the minibuffer:

EmacSQL had an unhandled condition: nil, nil, nil, ("SQL logic error" "table repository has 35 columns but 37 values were supplied" 1 1)Invalid face attribute :foreground nil

I am running commit b16b6ec of forge.

Here is the full backtrace:

Debugger entered--Lisp error: (emacsql-error nil nil nil ("SQL logic error" "table repository has 35 columns but 37 values were..." 1 1))
  transient--exit-and-debug(error (emacsql-error nil nil nil ("SQL logic error" "table repository has 35 columns but 37 values were..." 1 1)))
  signal(emacsql-error (nil nil nil ("SQL logic error" "table repository has 35 columns but 37 values were..." 1 1)))
  #f(compiled-function (connection message) #<bytecode -0x4a4a8950e637e24>)(#<emacsql-sqlite-builtin-connection emacsql-sqlite-builtin-connection-46e02cea> "INSERT INTO repository VALUES ('github', '\"Z2l0aHV...")
  apply(#f(compiled-function (connection message) #<bytecode -0x4a4a8950e637e24>) (#<emacsql-sqlite-builtin-connection emacsql-sqlite-builtin-connection-46e02cea> "INSERT INTO repository VALUES ('github', '\"Z2l0aHV..."))
  #f(compiled-function (&rest args) #<bytecode 0x3f3dd7f312cad>)(#<emacsql-sqlite-builtin-connection emacsql-sqlite-builtin-connection-46e02cea> "INSERT INTO repository VALUES ('github', '\"Z2l0aHV...")
  apply(#f(compiled-function (&rest args) #<bytecode 0x3f3dd7f312cad>) #<emacsql-sqlite-builtin-connection emacsql-sqlite-builtin-connection-46e02cea> "INSERT INTO repository VALUES ('github', '\"Z2l0aHV...")
  emacsql-send-message(#<emacsql-sqlite-builtin-connection emacsql-sqlite-builtin-connection-46e02cea> "INSERT INTO repository VALUES ('github', '\"Z2l0aHV...")
  #f(compiled-function (connection sql &rest args) #<bytecode 0x18572f7e8b5ce26a>)(#<emacsql-sqlite-builtin-connection emacsql-sqlite-builtin-connection-46e02cea> [:insert-into $i1 :values $v2] repository [github "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTE5NTQwNzcxNw==" "MDEwOlJlcG9zaXRvcnkxOTU0MDc3MTc=" "github.com" "autopub" "autopub" "api.github.com" "github.com" nil t nil nil nil nil nil nil nil nil nil nil nil nil t nil nil nil eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound nil nil eieio-unbound nil nil])
  apply(#f(compiled-function (connection sql &rest args) #<bytecode 0x18572f7e8b5ce26a>) #<emacsql-sqlite-builtin-connection emacsql-sqlite-builtin-connection-46e02cea> ([:insert-into $i1 :values $v2] repository [github "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTE5NTQwNzcxNw==" "MDEwOlJlcG9zaXRvcnkxOTU0MDc3MTc=" "github.com" "autopub" "autopub" "api.github.com" "github.com" nil t nil nil nil nil nil nil nil nil nil nil nil nil t nil nil nil eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound nil nil eieio-unbound nil nil]))
  emacsql(#<emacsql-sqlite-builtin-connection emacsql-sqlite-builtin-connection-46e02cea> [:insert-into $i1 :values $v2] repository [github "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTE5NTQwNzcxNw==" "MDEwOlJlcG9zaXRvcnkxOTU0MDc3MTc=" "github.com" "autopub" "autopub" "api.github.com" "github.com" nil t nil nil nil nil nil nil nil nil nil nil nil nil t nil nil nil eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound nil nil eieio-unbound nil nil])
  apply(emacsql #<emacsql-sqlite-builtin-connection emacsql-sqlite-builtin-connection-46e02cea> [:insert-into $i1 :values $v2] (repository [github "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTE5NTQwNzcxNw==" "MDEwOlJlcG9zaXRvcnkxOTU0MDc3MTc=" "github.com" "autopub" "autopub" "api.github.com" "github.com" nil t nil nil nil nil nil nil nil nil nil nil nil nil t nil nil nil eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound nil nil eieio-unbound nil nil]))
  #f(compiled-function (db sql &rest args) #<bytecode -0xa07fba07477e2ac>)(#<forge-database forge-database-43c08ffc> [:insert-into $i1 :values $v2] repository [github "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTE5NTQwNzcxNw==" "MDEwOlJlcG9zaXRvcnkxOTU0MDc3MTc=" "github.com" "autopub" "autopub" "api.github.com" "github.com" nil t nil nil nil nil nil nil nil nil nil nil nil nil t nil nil nil eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound nil nil eieio-unbound nil nil])
  apply(#f(compiled-function (db sql &rest args) #<bytecode -0xa07fba07477e2ac>) #<forge-database forge-database-43c08ffc> ([:insert-into $i1 :values $v2] repository [github "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTE5NTQwNzcxNw==" "MDEwOlJlcG9zaXRvcnkxOTU0MDc3MTc=" "github.com" "autopub" "autopub" "api.github.com" "github.com" nil t nil nil nil nil nil nil nil nil nil nil nil nil t nil nil nil eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound nil nil eieio-unbound nil nil]))
  emacsql(#<forge-database forge-database-43c08ffc> [:insert-into $i1 :values $v2] repository [github "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTE5NTQwNzcxNw==" "MDEwOlJlcG9zaXRvcnkxOTU0MDc3MTc=" "github.com" "autopub" "autopub" "api.github.com" "github.com" nil t nil nil nil nil nil nil nil nil nil nil nil nil t nil nil nil eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound eieio-unbound nil nil eieio-unbound nil nil])
  #f(compiled-function (db obj &optional replace) #<bytecode -0x148ebc779734f1f1>)(#<forge-database forge-database-43c08ffc> #<forge-github-repository forge-github-repository-59fc91a6>)
  apply(#f(compiled-function (db obj &optional replace) #<bytecode -0x148ebc779734f1f1>) #<forge-database forge-database-43c08ffc> #<forge-github-repository forge-github-repository-59fc91a6>)
  closql-insert(#<forge-database forge-database-43c08ffc> #<forge-github-repository forge-github-repository-59fc91a6>)
  (progn (closql-insert (forge-db) obj))
  (if (eq demand 'create) (progn (closql-insert (forge-db) obj)))
  (if (setq obj (forge-get-repository :id id)) nil (setq obj (funcall class :id id :forge-id forge-id :forge forge :owner owner :name name :apihost apihost :githost githost :remote remote)) (if (eq demand 'create) (progn (closql-insert (forge-db) obj))))
  (let ((id x420) (forge-id x421)) (if (setq obj (forge-get-repository :id id)) nil (setq obj (funcall class :id id :forge-id forge-id :forge forge :owner owner :name name :apihost apihost :githost githost :remote remote)) (if (eq demand 'create) (progn (closql-insert (forge-db) obj)))))
  (let* ((x420 (car-safe val)) (x421 (cdr-safe val))) (let ((id x420) (forge-id x421)) (if (setq obj (forge-get-repository :id id)) nil (setq obj (funcall class :id id :forge-id forge-id :forge forge :owner owner :name name :apihost apihost :githost githost :remote remote)) (if (eq demand 'create) (progn (closql-insert (forge-db) obj))))))
  (progn (ignore (consp val)) (let* ((x420 (car-safe val)) (x421 (cdr-safe val))) (let ((id x420) (forge-id x421)) (if (setq obj (forge-get-repository :id id)) nil (setq obj (funcall class :id id :forge-id forge-id :forge forge :owner owner :name name :apihost apihost :githost githost :remote remote)) (if (eq demand 'create) (progn (closql-insert (forge-db) obj)))))))
  (let* ((val (forge--repository-ids class host owner name (memq demand '(stub maybe))))) (progn (ignore (consp val)) (let* ((x420 (car-safe val)) (x421 (cdr-safe val))) (let ((id x420) (forge-id x421)) (if (setq obj (forge-get-repository :id id)) nil (setq obj (funcall class :id id :forge-id forge-id :forge forge :owner owner :name name :apihost apihost :githost githost :remote remote)) (if (eq demand 'create) (progn (closql-insert ... obj))))))))
  (progn (let* ((val (forge--repository-ids class host owner name (memq demand '(stub maybe))))) (progn (ignore (consp val)) (let* ((x420 (car-safe val)) (x421 (cdr-safe val))) (let ((id x420) (forge-id x421)) (if (setq obj (forge-get-repository :id id)) nil (setq obj (funcall class :id id :forge-id forge-id :forge forge :owner owner :name name :apihost apihost :githost githost :remote remote)) (if (eq demand ...) (progn ...))))))))
  (if (and (memq demand '(create stub maybe)) (not obj)) (progn (let* ((val (forge--repository-ids class host owner name (memq demand '...)))) (progn (ignore (consp val)) (let* ((x420 (car-safe val)) (x421 (cdr-safe val))) (let ((id x420) (forge-id x421)) (if (setq obj ...) nil (setq obj ...) (if ... ...))))))))
  (let* ((row (car (forge-sql [:select * :from repository :where (and (= forge $s1) (= owner $s2) (= name $s3))] forge owner name))) (obj (and row (closql--remake-instance class (forge-db) row)))) (if obj (progn (eieio-oset obj 'apihost apihost) (eieio-oset obj 'githost githost) (eieio-oset obj 'remote remote))) (cond ((and (eq demand t) (or (not obj) (eieio-oref obj 'sparse-p))) (error "Cannot use `%s' in %S yet.\n%s" this-command (magit-toplevel) "Use `M-x forge-add-repository' before trying again...")) ((and obj (eieio-oref obj 'sparse-p) (eq demand 'full)) (setq obj nil))) (if (and (memq demand '(create stub maybe)) (not obj)) (progn (let* ((val (forge--repository-ids class host owner name (memq demand ...)))) (progn (ignore (consp val)) (let* ((x420 ...) (x421 ...)) (let (... ...) (if ... nil ... ...))))))) obj)
  (let ((githost x412) (apihost x414) (forge x416) (class x418)) (let* ((row (car (forge-sql [:select * :from repository :where (and ... ... ...)] forge owner name))) (obj (and row (closql--remake-instance class (forge-db) row)))) (if obj (progn (eieio-oset obj 'apihost apihost) (eieio-oset obj 'githost githost) (eieio-oset obj 'remote remote))) (cond ((and (eq demand t) (or (not obj) (eieio-oref obj 'sparse-p))) (error "Cannot use `%s' in %S yet.\n%s" this-command (magit-toplevel) "Use `M-x forge-add-repository' before trying again...")) ((and obj (eieio-oref obj 'sparse-p) (eq demand 'full)) (setq obj nil))) (if (and (memq demand '(create stub maybe)) (not obj)) (progn (let* ((val (forge--repository-ids class host owner name ...))) (progn (ignore (consp val)) (let* (... ...) (let ... ...)))))) obj))
  (progn (ignore (null x419)) (let ((githost x412) (apihost x414) (forge x416) (class x418)) (let* ((row (car (forge-sql [:select * :from repository :where ...] forge owner name))) (obj (and row (closql--remake-instance class (forge-db) row)))) (if obj (progn (eieio-oset obj 'apihost apihost) (eieio-oset obj 'githost githost) (eieio-oset obj 'remote remote))) (cond ((and (eq demand t) (or (not obj) (eieio-oref obj ...))) (error "Cannot use `%s' in %S yet.\n%s" this-command (magit-toplevel) "Use `M-x forge-add-repository' before trying again...")) ((and obj (eieio-oref obj 'sparse-p) (eq demand 'full)) (setq obj nil))) (if (and (memq demand '(create stub maybe)) (not obj)) (progn (let* ((val ...)) (progn (ignore ...) (let* ... ...))))) obj)))
  (let* ((x418 (car-safe x417)) (x419 (cdr-safe x417))) (progn (ignore (null x419)) (let ((githost x412) (apihost x414) (forge x416) (class x418)) (let* ((row (car (forge-sql ... forge owner name))) (obj (and row (closql--remake-instance class ... row)))) (if obj (progn (eieio-oset obj 'apihost apihost) (eieio-oset obj 'githost githost) (eieio-oset obj 'remote remote))) (cond ((and (eq demand t) (or ... ...)) (error "Cannot use `%s' in %S yet.\n%s" this-command (magit-toplevel) "Use `M-x forge-add-repository' before trying again...")) ((and obj (eieio-oref obj ...) (eq demand ...)) (setq obj nil))) (if (and (memq demand '...) (not obj)) (progn (let* (...) (progn ... ...)))) obj))))
  (progn (ignore (consp x417)) (let* ((x418 (car-safe x417)) (x419 (cdr-safe x417))) (progn (ignore (null x419)) (let ((githost x412) (apihost x414) (forge x416) (class x418)) (let* ((row (car ...)) (obj (and row ...))) (if obj (progn (eieio-oset obj ... apihost) (eieio-oset obj ... githost) (eieio-oset obj ... remote))) (cond ((and ... ...) (error "Cannot use `%s' in %S yet.\n%s" this-command ... "Use `M-x forge-add-repository' before trying again...")) ((and obj ... ...) (setq obj nil))) (if (and (memq demand ...) (not obj)) (progn (let* ... ...))) obj)))))
  (let* ((x416 (car-safe x415)) (x417 (cdr-safe x415))) (progn (ignore (consp x417)) (let* ((x418 (car-safe x417)) (x419 (cdr-safe x417))) (progn (ignore (null x419)) (let ((githost x412) (apihost x414) (forge x416) (class x418)) (let* ((row ...) (obj ...)) (if obj (progn ... ... ...)) (cond (... ...) (... ...)) (if (and ... ...) (progn ...)) obj))))))
  (progn (ignore (consp x415)) (let* ((x416 (car-safe x415)) (x417 (cdr-safe x415))) (progn (ignore (consp x417)) (let* ((x418 (car-safe x417)) (x419 (cdr-safe x417))) (progn (ignore (null x419)) (let ((githost x412) (apihost x414) (forge x416) (class x418)) (let* (... ...) (if obj ...) (cond ... ...) (if ... ...) obj)))))))
  (let* ((x414 (car-safe x413)) (x415 (cdr-safe x413))) (progn (ignore (consp x415)) (let* ((x416 (car-safe x415)) (x417 (cdr-safe x415))) (progn (ignore (consp x417)) (let* ((x418 (car-safe x417)) (x419 (cdr-safe x417))) (progn (ignore (null x419)) (let (... ... ... ...) (let* ... ... ... ... obj))))))))
  (progn (ignore (consp x413)) (let* ((x414 (car-safe x413)) (x415 (cdr-safe x413))) (progn (ignore (consp x415)) (let* ((x416 (car-safe x415)) (x417 (cdr-safe x415))) (progn (ignore (consp x417)) (let* ((x418 ...) (x419 ...)) (progn (ignore ...) (let ... ...))))))))
  (let* ((x412 (car-safe spec)) (x413 (cdr-safe spec))) (progn (ignore (consp x413)) (let* ((x414 (car-safe x413)) (x415 (cdr-safe x413))) (progn (ignore (consp x415)) (let* ((x416 (car-safe x415)) (x417 (cdr-safe x415))) (progn (ignore (consp x417)) (let* (... ...) (progn ... ...))))))))
  (progn (ignore (consp spec)) (let* ((x412 (car-safe spec)) (x413 (cdr-safe spec))) (progn (ignore (consp x413)) (let* ((x414 (car-safe x413)) (x415 (cdr-safe x413))) (progn (ignore (consp x415)) (let* ((x416 ...) (x417 ...)) (progn (ignore ...) (let* ... ...))))))))
  (if spec (progn (ignore (consp spec)) (let* ((x412 (car-safe spec)) (x413 (cdr-safe spec))) (progn (ignore (consp x413)) (let* ((x414 (car-safe x413)) (x415 (cdr-safe x413))) (progn (ignore (consp x415)) (let* (... ...) (progn ... ...))))))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  No entry for %..." host 'forge-alist))))
  (let* ((spec (and t (assoc host forge-alist)))) (if spec (progn (ignore (consp spec)) (let* ((x412 (car-safe spec)) (x413 (cdr-safe spec))) (progn (ignore (consp x413)) (let* ((x414 ...) (x415 ...)) (progn (ignore ...) (let* ... ...)))))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  No entry for %..." host 'forge-alist)))))
  (progn (if --cl-rest-- (signal 'wrong-number-of-arguments (list nil (+ 3 (length --cl-rest--))))) (let* ((spec (and t (assoc host forge-alist)))) (if spec (progn (ignore (consp spec)) (let* ((x412 (car-safe spec)) (x413 (cdr-safe spec))) (progn (ignore (consp x413)) (let* (... ...) (progn ... ...))))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  No entry for %..." host 'forge-alist))))))
  (let* ((--cl-rest-- (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) (signal 'wrong-number-of-arguments (list nil (length --cl-rest--))))) (host (if (= (length --cl-rest--) 3) (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) (signal 'wrong-number-of-arguments (list nil (length --cl-rest--))))) (owner (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--))))) (name (car-safe --cl-rest--)) (remote (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--))))) (demand (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))))) (progn (if --cl-rest-- (signal 'wrong-number-of-arguments (list nil (+ 3 (length --cl-rest--))))) (let* ((spec (and t (assoc host forge-alist)))) (if spec (progn (ignore (consp spec)) (let* ((x412 ...) (x413 ...)) (progn (ignore ...) (let* ... ...)))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  No entry for %..." host 'forge-alist)))))))
  (progn (let* ((--cl-rest-- (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl-rest-- ...))) (signal 'wrong-number-of-arguments (list nil (length --cl-rest--))))) (host (if (= (length --cl-rest--) 3) (car-safe (prog1 --cl-rest-- (setq --cl-rest-- ...))) (signal 'wrong-number-of-arguments (list nil (length --cl-rest--))))) (owner (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--))))) (name (car-safe --cl-rest--)) (remote (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--))))) (demand (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))))) (progn (if --cl-rest-- (signal 'wrong-number-of-arguments (list nil (+ 3 (length --cl-rest--))))) (let* ((spec (and t (assoc host forge-alist)))) (if spec (progn (ignore (consp spec)) (let* (... ...) (progn ... ...))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  No entry for %..." host ...))))))))
  (closure (t) (&rest --cl-rest--) "((GITHOST OWNER NAME) &optional REMOTE DEMAND)\n\nRe..." (progn (let* ((--cl-rest-- (if --cl-rest-- (car-safe ...) (signal ... ...))) (host (if (= ... 3) (car-safe ...) (signal ... ...))) (owner (car-safe (prog1 --cl-rest-- ...))) (name (car-safe --cl-rest--)) (remote (car-safe (prog1 --cl-rest-- ...))) (demand (car-safe (prog1 --cl-rest-- ...)))) (progn (if --cl-rest-- (signal 'wrong-number-of-arguments (list nil ...))) (let* ((spec ...)) (if spec (progn ... ...) (if ... ...)))))))(("github.com" "autopub" "autopub") nil create)
  apply((closure (t) (&rest --cl-rest--) "((GITHOST OWNER NAME) &optional REMOTE DEMAND)\n\nRe..." (progn (let* ((--cl-rest-- (if --cl-rest-- (car-safe ...) (signal ... ...))) (host (if (= ... 3) (car-safe ...) (signal ... ...))) (owner (car-safe (prog1 --cl-rest-- ...))) (name (car-safe --cl-rest--)) (remote (car-safe (prog1 --cl-rest-- ...))) (demand (car-safe (prog1 --cl-rest-- ...)))) (progn (if --cl-rest-- (signal 'wrong-number-of-arguments (list nil ...))) (let* ((spec ...)) (if spec (progn ... ...) (if ... ...))))))) ("github.com" "autopub" "autopub") (nil create))
  forge-get-repository(("github.com" "autopub" "autopub") nil create)
  (if parts (forge-get-repository parts remote demand) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s isn't a for..." url))))
  (let* ((parts (and t (forge--split-url url)))) (if parts (forge-get-repository parts remote demand) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s isn't a for..." url)))))
  (progn (let* ((parts (and t (forge--split-url url)))) (if parts (forge-get-repository parts remote demand) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s isn't a for..." url))))))
  (closure (t) (url &optional remote demand) "Return the repository at URL." (progn (let* ((parts (and t (forge--split-url url)))) (if parts (forge-get-repository parts remote demand) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s isn't a for..." url)))))))("https://github.com/autopub/autopub" nil create)
  apply((closure (t) (url &optional remote demand) "Return the repository at URL." (progn (let* ((parts (and t (forge--split-url url)))) (if parts (forge-get-repository parts remote demand) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s isn't a for..." url))))))) "https://github.com/autopub/autopub" (nil create))
  forge-get-repository("https://github.com/autopub/autopub" nil create)
  (let ((repo (forge-get-repository url nil 'create))) (eieio-oset repo 'sparse-p nil) (prog1 (let* ((val (read-char-choice (let (...) (concat "Pull " ... ", or " ... " ")) '(97 105)))) (cond ((eql val 97) (let nil (forge-pull repo))) ((eql val 105) (let nil (eieio-oset repo 'selective-p t) (forge--pull repo nil))))) (message "")))
  (if (forge-get-repository url nil 'full) (user-error "%s is already tracked in Forge database" url) (let ((repo (forge-get-repository url nil 'create))) (eieio-oset repo 'sparse-p nil) (prog1 (let* ((val (read-char-choice (let ... ...) '...))) (cond ((eql val 97) (let nil (forge-pull repo))) ((eql val 105) (let nil (eieio-oset repo ... t) (forge--pull repo nil))))) (message ""))))
  (closure (t) (url) (interactive (let ((str (magit-read-string-ns "Add repository to database (url or name)" (let* ... ...)))) (if (string-match-p "\\(://\\|@\\)" str) (list str) (list (magit-clone--name-to-url str))))) (if (forge-get-repository url nil 'full) (user-error "%s is already tracked in Forge database" url) (let ((repo (forge-get-repository url nil 'create))) (eieio-oset repo 'sparse-p nil) (prog1 (let* ((val ...)) (cond (... ...) (... ...))) (message "")))))("https://github.com/autopub/autopub")
  apply((closure (t) (url) (interactive (let ((str (magit-read-string-ns "Add repository to database (url or name)" (let* ... ...)))) (if (string-match-p "\\(://\\|@\\)" str) (list str) (list (magit-clone--name-to-url str))))) (if (forge-get-repository url nil 'full) (user-error "%s is already tracked in Forge database" url) (let ((repo (forge-get-repository url nil 'create))) (eieio-oset repo 'sparse-p nil) (prog1 (let* ((val ...)) (cond (... ...) (... ...))) (message ""))))) "https://github.com/autopub/autopub")
  #f(compiled-function (fn &rest args) #<bytecode -0x1489c52c58f21f87>)((closure (t) (url) (interactive (let ((str (magit-read-string-ns "Add repository to database (url or name)" (let* ... ...)))) (if (string-match-p "\\(://\\|@\\)" str) (list str) (list (magit-clone--name-to-url str))))) (if (forge-get-repository url nil 'full) (user-error "%s is already tracked in Forge database" url) (let ((repo (forge-get-repository url nil 'create))) (eieio-oset repo 'sparse-p nil) (prog1 (let* ((val ...)) (cond (... ...) (... ...))) (message ""))))) "https://github.com/autopub/autopub")
  apply(#f(compiled-function (fn &rest args) #<bytecode -0x1489c52c58f21f87>) (closure (t) (url) (interactive (let ((str (magit-read-string-ns "Add repository to database (url or name)" (let* ... ...)))) (if (string-match-p "\\(://\\|@\\)" str) (list str) (list (magit-clone--name-to-url str))))) (if (forge-get-repository url nil 'full) (user-error "%s is already tracked in Forge database" url) (let ((repo (forge-get-repository url nil 'create))) (eieio-oset repo 'sparse-p nil) (prog1 (let* ((val ...)) (cond (... ...) (... ...))) (message ""))))) "https://github.com/autopub/autopub")
  (lambda (fn &rest args) (interactive #f(compiled-function (spec) #<bytecode -0x1830121fbeee13fb>)) (apply '#f(compiled-function (fn &rest args) #<bytecode -0x1489c52c58f21f87>) fn args))((closure (t) (url) (interactive (let ((str (magit-read-string-ns "Add repository to database (url or name)" (let* ... ...)))) (if (string-match-p "\\(://\\|@\\)" str) (list str) (list (magit-clone--name-to-url str))))) (if (forge-get-repository url nil 'full) (user-error "%s is already tracked in Forge database" url) (let ((repo (forge-get-repository url nil 'create))) (eieio-oset repo 'sparse-p nil) (prog1 (let* ((val ...)) (cond (... ...) (... ...))) (message ""))))) "https://github.com/autopub/autopub")
  apply((lambda (fn &rest args) (interactive #f(compiled-function (spec) #<bytecode -0x1830121fbeee13fb>)) (apply '#f(compiled-function (fn &rest args) #<bytecode -0x1489c52c58f21f87>) fn args)) (closure (t) (url) (interactive (let ((str (magit-read-string-ns "Add repository to database (url or name)" (let* ... ...)))) (if (string-match-p "\\(://\\|@\\)" str) (list str) (list (magit-clone--name-to-url str))))) (if (forge-get-repository url nil 'full) (user-error "%s is already tracked in Forge database" url) (let ((repo (forge-get-repository url nil 'create))) (eieio-oset repo 'sparse-p nil) (prog1 (let* ((val ...)) (cond (... ...) (... ...))) (message ""))))) "https://github.com/autopub/autopub")
  forge-add-repository("https://github.com/autopub/autopub")
  funcall-interactively(forge-add-repository "https://github.com/autopub/autopub")
  command-execute(forge-add-repository)

I do understand that one way I could work through this is to delete the sqlite database. I would, however, prefer not to erase the forge state I have for many other repositories.

Have you tried turning it off and on again?

(If a package is already loaded when you update it, then that does not cause the new version to be loaded. You may even end up with a franken version, with some libraries loaded from the old version and some from the new. Even worse, the old version may leak into the byte-code compiled for the new version, making it necessary to reinstall the package.)

Same answer as in #626 -- I restarted emacs after the upgrade, so I'm confident this is not a leftover-load problem, at least, but it might be a leftover bytecode one. I'm in the middle of rebuilding the whole great big pile, and I'll report back on these when I'm done.