diff mbox series

[bug?] clean: Demonstrate failure when used with paths

Message ID 20190531183651.10067-1-rafa.almas@gmail.com (mailing list archive)
State New, archived
Headers show
Series [bug?] clean: Demonstrate failure when used with paths | expand

Commit Message

Rafael Ascensão May 31, 2019, 6:36 p.m. UTC
---

Yesterday on #git, an user reported the following behaviour of
git clean:

    $ git init
    $ mkdir foo
    $ touch a.txt b.txt bar.txt foo/qux.txt

    $ git clean -f bar.txt foo/qux.txt
    Removing bar.txt

Where the behaviour they expected would be:

    $ git clean -f bar.txt foo/qux.txt
    Removing bar.txt
    Removing foo/qux.txt

Sending this "patch" as an excuse to not forget this bug report.

 t/t7300-clean.sh | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Rafael Ascensão June 3, 2019, 7:57 p.m. UTC | #1
I missed this RFC series which fixes this and others issues:
https://public-inbox.org/git/20180405173446.32372-1-newren@gmail.com

Cheers,
Rafael Ascensão
Elijah Newren June 3, 2019, 8:32 p.m. UTC | #2
On Mon, Jun 3, 2019 at 12:58 PM Rafael Ascensão <rafa.almas@gmail.com> wrote:
>
> I missed this RFC series which fixes this and others issues:
> https://public-inbox.org/git/20180405173446.32372-1-newren@gmail.com
>
> Cheers,
> Rafael Ascensão

Yeah, I've had cleaning that patch series up on my TODO list for quite
some time.

My vague recollection was that Peff pointed out a few things to clean
up in my patches, and also highlighted a few extra adjacent issues in
the surrounding underlying code...and when I started looking into
fixing the additional stuff it was slightly more complex and ugly (and
for some reason I didn't decide to just fix up and submit what I had
but was trying to fix everything in the area).

Also, briefly looking back at the cover letter and thread overview it
looks like no one ever attempted to shed light on the question I asked
in my RFC about what correct behavior was for one special case (i.e.
whether patches 5 & 6 of that series should be kept or whether they
should be dropped and patch 7 should be squashed into earlier
patches).  Anyone have thoughts on that?

Elijah
diff mbox series

Patch

diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
index 7b36954d63..eecbd98906 100755
--- a/t/t7300-clean.sh
+++ b/t/t7300-clean.sh
@@ -92,6 +92,20 @@  test_expect_success 'git clean src/ src/' '
 
 '
 
+test_expect_failure 'git clean a.out docs/manual.tmp' '
+	mkdir -p build docs &&
+	touch a.out b.out docs/manual.txt docs/manual.tmp &&
+	git clean a.out docs/manual.tmp &&
+	test -f Makefile &&
+	test -f README &&
+	test ! -f a.out &&
+	test -f b.out &&
+	test -f docs/manual.txt &&
+	test ! -f docs/manual.tmp &&
+	test -f src/part2.c &&
+	test -f src/part1.c
+'
+
 test_expect_success 'git clean with prefix' '
 
 	mkdir -p build docs src/test &&