From: Sebastien Marie Subject: Re: got ignore some .{cvs,git}ignore files To: gameoftrees@openbsd.org Date: Tue, 23 Jun 2020 10:50:42 +0200 On Tue, Jun 23, 2020 at 10:19:10AM +0200, Stefan Sperling wrote: > > > > Please note that it could be also exposed with got repository itself: > > > > $ cd got > > $ cat .gitignore > > **/obj > > $ got st > > M regress/cmdline/status.sh > > $ got st libexec/got-fetch-pack > > ? libexec/got-fetch-pack/obj/error.d > > ? libexec/got-fetch-pack/obj/error.o > > ? libexec/got-fetch-pack/obj/got-fetch-pack > > ? libexec/got-fetch-pack/obj/got-fetch-pack.d > > ? libexec/got-fetch-pack/obj/got-fetch-pack.o > > ? libexec/got-fetch-pack/obj/inflate.d > > ? libexec/got-fetch-pack/obj/inflate.o > > ? libexec/got-fetch-pack/obj/object_parse.d > > ? libexec/got-fetch-pack/obj/object_parse.o > > ? libexec/got-fetch-pack/obj/path.d > > ? libexec/got-fetch-pack/obj/path.o > > ? libexec/got-fetch-pack/obj/privsep.d > > ? libexec/got-fetch-pack/obj/privsep.o > > ? libexec/got-fetch-pack/obj/sha1.d > > ? libexec/got-fetch-pack/obj/sha1.o > > > > the "obj" directory is shown whereas present in .gitignore > > Yes, this is a bug. The evaluation of ignore lists should not depend on > the status path argument. However, this is not the problem which your test > case patch is trying to reproduce, is it? Our ignore test cases do not > cover the case of running status with a path argument! We should fix this. ah... so the change I made on regress wasn't the right one to expose my problem :) new diff for regress. -- Sebastien Marie diff c34ec41754978e41240e8aedd4e5d3a9e6362635 /home/semarie/repos/openbsd/got blob - 5abbce9475bb8bd2f1cbb3e33113883173026f03 file + regress/cmdline/status.sh --- regress/cmdline/status.sh +++ regress/cmdline/status.sh @@ -496,10 +496,11 @@ function test_status_cvsignore { echo "unversioned file" > $testroot/wt/foo echo "unversioned file" > $testroot/wt/foop + echo "unversioned file" > $testroot/wt/epsilon/foo echo "unversioned file" > $testroot/wt/epsilon/bar echo "unversioned file" > $testroot/wt/epsilon/boo echo "unversioned file" > $testroot/wt/epsilon/moo - echo "foo" > $testroot/wt/.cvsignore + echo "**/foo" > $testroot/wt/.cvsignore echo "bar" > $testroot/wt/epsilon/.cvsignore echo "moo" >> $testroot/wt/epsilon/.cvsignore @@ -516,6 +517,20 @@ function test_status_cvsignore { test_done "$testroot" "$ret" return 1 fi + + echo '? epsilon/.cvsignore' > $testroot/stdout.expected + echo '? epsilon/boo' >> $testroot/stdout.expected + (cd $testroot/wt && got status epsilon > $testroot/stdout) + + cmp -s $testroot/stdout.expected $testroot/stdout + ret="$?" + if [ "$ret" != "0" ]; then + diff -u $testroot/stdout.expected $testroot/stdout + test_done "$testroot" "$ret" + return 1 + fi + + echo '? .cvsignore' > $testroot/stdout.expected echo '? epsilon/.cvsignore' >> $testroot/stdout.expected