1
0
mirror of https://github.com/git/git.git synced 2024-09-21 09:42:22 +02:00

doc-diff: add --clean mode to remove temporary working gunk

As part of its operation, doc-diff creates a bunch of temporary
working files and holds onto them in order to speed up subsequent
invocations. These files are never deleted. Moreover, it creates a
temporary working tree (via git-wortkree) which likewise never gets
removed.

Without knowing the implementation details of the tool, a user may not
know how to clean up manually afterward. Worse, the user may find it
surprising and alarming to discover a working tree which s/he did not
create explicitly.

To address these issues, add a --clean mode which removes the
temporary working tree and deletes all generated files.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Eric Sunshine 2018-08-31 02:33:17 -04:00 committed by Junio C Hamano
parent 83d4b5ff29
commit ad51743007

View File

@ -10,20 +10,25 @@
OPTIONS_SPEC="\
doc-diff [options] <from> <to> [-- <diff-options>]
doc-diff (-c|--clean)
--
j=n parallel argument to pass to make
f force rebuild; do not rely on cached results
c,clean cleanup temporary working files
"
SUBDIRECTORY_OK=1
. "$(git --exec-path)/git-sh-setup"
parallel=
force=
clean=
while test $# -gt 0
do
case "$1" in
-j)
parallel=$2; shift ;;
-c|--clean)
clean=t ;;
-f)
force=t ;;
--)
@ -34,6 +39,17 @@ do
shift
done
cd_to_toplevel
tmp=Documentation/tmp-doc-diff
if test -n "$clean"
then
test $# -eq 0 || usage
git worktree remove --force "$tmp/worktree" 2>/dev/null
rm -rf "$tmp"
exit 0
fi
if test -z "$parallel"
then
parallel=$(getconf _NPROCESSORS_ONLN 2>/dev/null)
@ -50,9 +66,6 @@ to=$1; shift
from_oid=$(git rev-parse --verify "$from") || exit 1
to_oid=$(git rev-parse --verify "$to") || exit 1
cd_to_toplevel
tmp=Documentation/tmp-doc-diff
if test -n "$force"
then
rm -rf "$tmp"