[devel] Опция --local для gear

Kirill A. Shutemov =?iso-8859-1?q?kas_=CE=C1_altlinux=2Eru?=
Пт Май 12 14:59:53 MSD 2006


патч в аттаче

-- 
Kirill A. Shutemov				Belarus, Minsk
E-mail:	k.shutemov (AT) sam-solutions.net
JID: kas (AT) altlinux.org
ICQ: 152302675

>Подскажи те что может быть с firefox'ом
>после одного из обновления (dist-upgrade) firefox перестал запускаться,
>точнее отображать окно
Можно еще точнее описать проблему?
		-- legion in sisyphus@
----------- следующая часть -----------
From nobody Mon Sep 17 00:00:00 2001
From: Kirill A. Shutemov <kas на pc152.sam-solutions.net>
Date: Fri, 12 May 2006 13:49:51 +0300
Subject: [PATCH] Option --local added

---

 gear |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

4b3aee96f66d2517c28f3109820ab89ef7b314ae
diff --git a/gear b/gear
index 87b69e9..a53a86d 100755
--- a/gear
+++ b/gear
@@ -109,6 +109,7 @@ Options:
   --export-dir=DIRNAME      write source files to specified directory;
   -r, --rules=FILENAME      name of file with rules, default is .$PROG-rules;
   -t, --tree-ish=ID         tree, commit or tag object name;
+  -l, --local               extract archive from local directory, not from git;
   -q, --quiet               try to be more quiet;
   -v, --verbose             print a message for each action;
   -V, --version             print program version and exit;
@@ -124,6 +125,10 @@ tmpdir=
 exit_handler()
 {
 	local rc=$?
+	if [ -n "$local" ]; then
+	    git-reset --soft HEAD^
+	fi
+
 	trap - EXIT
 	[ -z "$tmpdir" ] || rm -rf -- "$tmpdir"
 	exit $rc
@@ -432,7 +437,6 @@ parse_rules()
 
 	lineno=0
 	local cmd options
-	echo >>"$workdir/rules"
 	while read -r cmd options; do
 		lineno="$((lineno+1))"
 		case "$cmd" in
@@ -458,7 +462,7 @@ opt_check_dir()
 	printf %s "$value"
 }
 
-TEMP=`getopt -n $PROG -o r:,t:,h,q,v,V -l no-compress,bzip2,gzip,hasher,rpmbuild,export-dir:,rules:,tree-ish:,help,quiet,verbose,version -- "$@"` ||
+TEMP=`getopt -n $PROG -o r:,t:,l,h,q,v,V -l no-compress,bzip2,gzip,hasher,rpmbuild,export-dir:,rules:,tree-ish:,local,help,quiet,verbose,version -- "$@"` ||
 	show_usage
 eval set -- "$TEMP"
 
@@ -468,6 +472,7 @@ outdir=
 rules=".$PROG-rules"
 tar_compress=--gzip
 tree_id=HEAD
+local=
 while :; do
 	case "$1" in
 		--) shift; break
@@ -496,6 +501,8 @@ while :; do
 			;;
 		-t|--tree-ish) shift; tree_id="$1"
 			;;
+		-l|--local) local=1
+			;;
 		-h|--help) show_help
 			;;
 		-q|--quiet) quiet=-q
@@ -528,6 +535,10 @@ else
 	shift
 fi
 
+if [ -n "$local" -a "$tree_id" != 'HEAD' ]; then
+    show_usage 'Options --local is actual only with tree_ish=HEAD.'
+fi
+
 # Check given tree-ish.
 type="$(git-cat-file -t "$tree_id")" ||
 	fatal "Invalid GIT_DIR ($GIT_DIR) or tree-ish ($tree_id)"
@@ -548,6 +559,10 @@ if [ -z "$outdir" ]; then
 	mkdir "$outdir"
 fi
 
+if [ -n "$local" ]; then
+    git-commit -a -m 'temporary commit' > /dev/null || { local=; info 'Nothing changed. Used last commit'; }
+fi
+
 find_specfile
 
 parse_rules
-- 
1.3.2

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060512/18480ca3/attachment-0001.bin>


Подробная информация о списке рассылки Devel