git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pierre Habouzit <madcoder@debian.org>
To: gitster@pobox.com
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Pierre Habouzit <madcoder@debian.org>
Subject: [PATCH 03/10] Migrate git-clean.sh to use git-rev-parse --parseopt.
Date: Sun,  4 Nov 2007 11:30:55 +0100	[thread overview]
Message-ID: <1194172262-1563-4-git-send-email-madcoder@debian.org> (raw)
In-Reply-To: <1194172262-1563-3-git-send-email-madcoder@debian.org>

Also minor consistency tweaks in how errors are caught.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
---
 git-clean.sh |   38 ++++++++++++++++++++------------------
 1 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/git-clean.sh b/git-clean.sh
index 4491738..6959433 100755
--- a/git-clean.sh
+++ b/git-clean.sh
@@ -3,16 +3,21 @@
 # Copyright (c) 2005-2006 Pavel Roskin
 #
 
-USAGE="[-d] [-f] [-n] [-q] [-x | -X] [--] <paths>..."
-LONG_USAGE='Clean untracked files from the working directory
-	-d	remove directories as well
-	-f	override clean.requireForce and clean anyway
-	-n 	don'\''t remove anything, just show what would be done
-	-q	be quiet, only report errors
-	-x	remove ignored files as well
-	-X	remove only ignored files
+OPTIONS_SPEC="\
+git-clean [options] <paths>...
+
+Clean untracked files from the working directory
+
 When optional <paths>... arguments are given, the paths
-affected are further limited to those that match them.'
+affected are further limited to those that match them.
+--
+d remove directories as well
+f override clean.requireForce and clean anyway
+n don't remove anything, just show what would be done
+q be quiet, only report errors
+x remove ignored files as well
+X remove only ignored files"
+
 SUBDIRECTORY_OK=Yes
 . git-sh-setup
 require_work_tree
@@ -55,23 +60,20 @@ do
 		shift
 		break
 		;;
-	-*)
-		usage
-		;;
 	*)
-		break
+		usage # should not happen
+		;;
 	esac
 	shift
 done
 
 if [ "$disabled" = true ]; then
-	echo "clean.requireForce set and -n or -f not given; refusing to clean"
-	exit 1
+	die "clean.requireForce set and -n or -f not given; refusing to clean"
 fi
 
-case "$ignored,$ignoredonly" in
-	1,1) usage;;
-esac
+if [ "$ignored,$ignoredonly" = "1,1" ]; then
+	die "-x and -X cannot be set together"
+fi
 
 if [ -z "$ignored" ]; then
 	excl="--exclude-per-directory=.gitignore"
-- 
1.5.3.5.1509.g66d41


  reply	other threads:[~2007-11-04 10:31 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-04 10:30 ph/parseopt-sh reloaded Pierre Habouzit
2007-11-04 10:30 ` [PATCH 01/10] Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts Pierre Habouzit
2007-11-04 10:30   ` [PATCH 02/10] Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseopt Pierre Habouzit
2007-11-04 10:30     ` Pierre Habouzit [this message]
2007-11-04 10:30       ` [PATCH 04/10] Migrate git-clone to use " Pierre Habouzit
2007-11-04 10:30         ` [PATCH 05/10] Migrate git-am.sh " Pierre Habouzit
2007-11-04 10:30           ` [PATCH 06/10] Migrate git-merge.sh " Pierre Habouzit
2007-11-04 10:30             ` [PATCH 07/10] Migrate git-instaweb.sh " Pierre Habouzit
2007-11-04 10:31               ` [PATCH 08/10] Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdash Pierre Habouzit
2007-11-04 10:31                 ` [PATCH 09/10] Migrate git-quiltimport.sh to use git-rev-parse --parseopt Pierre Habouzit
2007-11-04 10:31                   ` [PATCH 10/10] Migrate git-repack.sh " Pierre Habouzit
2007-11-04 14:49         ` [PATCH 04/10] Migrate git-clone " Pierre Habouzit
2007-11-06 19:04         ` Nicolas Pitre
2007-11-06 19:32           ` Junio C Hamano
2007-11-06 19:44             ` Nicolas Pitre
2007-11-06 19:39           ` Junio C Hamano
2007-11-04 11:29   ` [PATCH 01/10] Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts Ralf Wildenhues
2007-11-04 11:31     ` Ralf Wildenhues
2007-11-04 22:58   ` Junio C Hamano
2007-11-04 23:14     ` Pierre Habouzit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1194172262-1563-4-git-send-email-madcoder@debian.org \
    --to=madcoder@debian.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).