From: Tracey Emery Subject: Re: Unable to add new patch, "file has unexpected status" To: "Herbert J. Skuhra" , gameoftrees@openbsd.org Date: Mon, 31 Jan 2022 07:35:59 -0700 On Sun, Jan 30, 2022 at 07:28:54PM +0100, Stefan Sperling wrote: > On Sun, Jan 30, 2022 at 05:08:35PM +0100, Herbert J. Skuhra wrote: > > On Sun, Jan 30, 2022 at 05:57:20PM +0200, Timo Myyrä wrote: > > > Stefan Sperling [2022-01-30, 16:05 +0100]: > > > > > > > On Sun, Jan 30, 2022 at 04:19:31PM +0200, Timo Myyrä wrote: > > > > > > > >> > > > >> I got following error when I try to add new local patch to a port: > > > >> > > > >> tmy@asteroid ecl $ got add lang/ecl/patches/patch-src_cmp_cmpmain_lsp > > > >> got: /usr/ports/lang/ecl/lang/ecl/patches/patch-src_cmp_cmpmain_lsp: file has unexpected status > > > > 1. This patch only adds debug info. > > 2. You run different commands before and now ... the first is obviously > > wrong. > > Oh, right. Now I see it too :) Timo, you need to specify paths > relative to your current working directory. > > The error message could be improved, though. How about this? > > $ got add foo/bar > got: /home/stsp/src/got/foo/bar: No such file or directory > $ > > diff c7b1723265fdbbef35d01135261fab2ca7d52f88 /home/stsp/src/got > blob - 02ace087b87f181bf1e2f38cb278ab69608602f7 > file + lib/worktree.c > --- lib/worktree.c > +++ lib/worktree.c > @@ -3874,7 +3874,10 @@ schedule_addition(void *arg, unsigned char status, uns > } > > if (status != GOT_STATUS_UNVERSIONED) { > - err = got_error_path(ondisk_path, GOT_ERR_FILE_STATUS); > + if (status == GOT_STATUS_NONEXISTENT) > + err = got_error_set_errno(ENOENT, ondisk_path); > + else > + err = got_error_path(ondisk_path, GOT_ERR_FILE_STATUS); > goto done; > } > > Ok. I've always disliked the previous error. -- Tracey Emery