From: "Herbert J. Skuhra" Subject: Re: Unable to add new patch, "file has unexpected status" To: gameoftrees@openbsd.org Date: Sun, 30 Jan 2022 17:08:35 +0100 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 > >> tmy@asteroid ecl $ got st . > >> M lang/ecl/Makefile > >> M lang/ecl/distinfo > >> M lang/ecl/patches/patch-src_Makefile_in > >> D lang/ecl/patches/patch-src_c_package_d > >> ? lang/ecl/patches/patch-src_cmp_cmpmain_lsp > >> M lang/ecl/patches/patch-src_compile_lsp_in > >> M lang/ecl/patches/patch-src_configure > >> M lang/ecl/pkg/PLIST > >> tmy@asteroid ecl $ file patches/patch-src_c > >> patch-src_cmp_cmpmain_lsp patch-src_compile_lsp_in patch-src_configure > >> tmy@asteroid ecl $ file patches/patch-src_cmp_cmpmain_lsp > >> patches/patch-src_cmp_cmpmain_lsp: ASCII English text > >> tmy@asteroid ecl $ ls -la patches/patch-src_cmp_cmpmain_lsp > >> -rw-r--r-- 1 tmy wsrc 1024 Jan 30 15:42 patches/patch-src_cmp_cmpmain_lsp > >> tmy@asteroid ecl $ got -V > >> got 0.66 > >> tmy@asteroid ecl > >> > >> Whats status the got is expecting? > > > > 'got add' expects files in unversioned status so this should be fine. > > I do not understand what makes it error out in your case. > > > > Could you apply this patch and show what it prints to stderr? > > > > diff a47330a24a002793ebfd33553aeb80a98f940755 /home/stsp/src/got > > blob - 02ace087b87f181bf1e2f38cb278ab69608602f7 > > file + lib/worktree.c > > --- lib/worktree.c > > +++ lib/worktree.c > > @@ -3855,14 +3855,17 @@ schedule_addition(void *arg, unsigned char status, uns > > struct stat sb; > > char *ondisk_path; > > > > + fprintf(stderr, "%s initial status %d\n", relpath, status); > > if (asprintf(&ondisk_path, "%s/%s", a->worktree->root_path, > > relpath) == -1) > > return got_error_from_errno("asprintf"); > > > > ie = got_fileindex_entry_get(a->fileindex, relpath, strlen(relpath)); > > if (ie) { > > + fprintf(stderr, "%s has file index entry\n", relpath); > > err = get_file_status(&status, &sb, ie, ondisk_path, dirfd, > > de_name, a->repo); > > + fprintf(stderr, "%s has status %d\n", relpath, status); > > if (err) > > goto done; > > /* Re-adding an existing entry is a no-op. */ > > > Hmm, seems to work with that. > > tmy@asteroid ecl $ /home/tmy/bin/got add patches/patch-src_cmp_cmpmain_lsp > lang/ecl/patches/patch-src_cmp_cmpmain_lsp initial status 63 > A lang/ecl/patches/patch-src_cmp_cmpmain_lsp > tmy@asteroid ecl $ 1. This patch only adds debug info. 2. You run different commands before and now ... the first is obviously wrong. -- Herbert