chiark / gitweb /
dgit: clean: Do check the tree even when building in playtree
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 6 Jan 2019 02:15:31 +0000 (02:15 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 6 Jan 2019 13:36:45 +0000 (13:36 +0000)
commit9453958d76cb530bbc0af1802cfeaadd26e19c6c
treeb7f833b525b903e4490aa6ea572ca136d0b9be30
parentdc9df4ad8714bab9656d932854ef5631b46c124e
dgit: clean: Do check the tree even when building in playtree

If we might be doing quilt fixup, then the quilt fixup's attempt to
merge back into master might fail if there are uncommitted
debian/patches.  So it is sometimes wrong to just not clean at all.

We don't want the behaviour to depend on the source package format,
and ideally not on the clean mode.

Also, the user may have forgotten to `git add', in which case they
will thank us for spotting their mistake.

In the original design table in
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=910705#56
says this for this case
/: disregarded
   would be fine to delete but
   ** better to trip ? **
** want opt to disregard **
but this was not implemented at the time.

So implement that now.

I think I have concluded that with -wg and -wgf the right way to turn
these new failures into successes is to have a way to have the clean
actually done.  If that is not wanted, one can say -wn instead.

This is particularly true given that ignoring the problem can produce
confusing failure, as seen in #914317.

So there will be a new --clean=git[-ff],always shortly.

Closes: #914317
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
dgit
tests/lib-build-modes