git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
	Felipe Contreras <felipe.contreras@gmail.com>
Subject: [PATCH v2 16/17] contrib: remove 'git-resurrect'
Date: Fri,  9 May 2014 14:11:42 -0500	[thread overview]
Message-ID: <1399662703-355-17-git-send-email-felipe.contreras@gmail.com> (raw)
In-Reply-To: <1399662703-355-1-git-send-email-felipe.contreras@gmail.com>

No activity, no documentation, no tests, no chance of ever graduating.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 contrib/git-resurrect.sh | 182 -----------------------------------------------
 1 file changed, 182 deletions(-)
 delete mode 100755 contrib/git-resurrect.sh

diff --git a/contrib/git-resurrect.sh b/contrib/git-resurrect.sh
deleted file mode 100755
index d7e97bb..0000000
--- a/contrib/git-resurrect.sh
+++ /dev/null
@@ -1,182 +0,0 @@
-#!/bin/sh
-
-USAGE="[-a] [-r] [-m] [-t] [-n] [-b <newname>] <name>"
-LONG_USAGE="git-resurrect attempts to find traces of a branch tip
-called <name>, and tries to resurrect it.  Currently, the reflog is
-searched for checkout messages, and with -r also merge messages.  With
--m and -t, the history of all refs is scanned for Merge <name> into
-other/Merge <other> into <name> (respectively) commit subjects, which
-is rather slow but allows you to resurrect other people's topic
-branches."
-
-OPTIONS_KEEPDASHDASH=
-OPTIONS_STUCKLONG=
-OPTIONS_SPEC="\
-git resurrect $USAGE
---
-b,branch=            save branch as <newname> instead of <name>
-a,all                same as -l -r -m -t
-k,keep-going         full rev-list scan (instead of first match)
-l,reflog             scan reflog for checkouts (enabled by default)
-r,reflog-merges      scan for merges recorded in reflog
-m,merges             scan for merges into other branches (slow)
-t,merge-targets      scan for merges of other branches into <name>
-n,dry-run            don't recreate the branch"
-
-. git-sh-setup
-
-search_reflog () {
-        sed -ne 's~^\([^ ]*\) .*\tcheckout: moving from '"$1"' .*~\1~p' \
-                < "$GIT_DIR"/logs/HEAD
-}
-
-search_reflog_merges () {
-	git rev-parse $(
-		sed -ne 's~^[^ ]* \([^ ]*\) .*\tmerge '"$1"':.*~\1^2~p' \
-			< "$GIT_DIR"/logs/HEAD
-	)
-}
-
-_x40="[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]"
-_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
-
-search_merges () {
-        git rev-list --all --grep="Merge branch '$1'" \
-                --pretty=tformat:"%P %s" |
-        sed -ne "/^$_x40 \($_x40\) Merge .*/ {s//\1/p;$early_exit}"
-}
-
-search_merge_targets () {
-	git rev-list --all --grep="Merge branch '[^']*' into $branch\$" \
-		--pretty=tformat:"%H %s" --all |
-	sed -ne "/^\($_x40\) Merge .*/ {s//\1/p;$early_exit} "
-}
-
-dry_run=
-early_exit=q
-scan_reflog=t
-scan_reflog_merges=
-scan_merges=
-scan_merge_targets=
-new_name=
-
-while test "$#" != 0; do
-	case "$1" in
-	    -b|--branch)
-		shift
-		new_name="$1"
-		;;
-	    -n|--dry-run)
-		dry_run=t
-		;;
-	    --no-dry-run)
-		dry_run=
-		;;
-	    -k|--keep-going)
-		early_exit=
-		;;
-	    --no-keep-going)
-		early_exit=q
-		;;
-	    -m|--merges)
-		scan_merges=t
-		;;
-	    --no-merges)
-		scan_merges=
-		;;
-	    -l|--reflog)
-		scan_reflog=t
-		;;
-	    --no-reflog)
-		scan_reflog=
-		;;
-	    -r|--reflog_merges)
-		scan_reflog_merges=t
-		;;
-	    --no-reflog_merges)
-		scan_reflog_merges=
-		;;
-	    -t|--merge-targets)
-		scan_merge_targets=t
-		;;
-	    --no-merge-targets)
-		scan_merge_targets=
-		;;
-	    -a|--all)
-		scan_reflog=t
-		scan_reflog_merges=t
-		scan_merges=t
-		scan_merge_targets=t
-		;;
-	    --)
-		shift
-		break
-		;;
-	    *)
-		usage
-		;;
-	esac
-	shift
-done
-
-test "$#" = 1 || usage
-
-all_strategies="$scan_reflog$scan_reflog_merges$scan_merges$scan_merge_targets"
-if test -z "$all_strategies"; then
-	die "must enable at least one of -lrmt"
-fi
-
-branch="$1"
-test -z "$new_name" && new_name="$branch"
-
-if test ! -z "$scan_reflog"; then
-	if test -r "$GIT_DIR"/logs/HEAD; then
-		candidates="$(search_reflog $branch)"
-	else
-		die 'reflog scanning requested, but' \
-			'$GIT_DIR/logs/HEAD not readable'
-	fi
-fi
-if test ! -z "$scan_reflog_merges"; then
-	if test -r "$GIT_DIR"/logs/HEAD; then
-		candidates="$candidates $(search_reflog_merges $branch)"
-	else
-		die 'reflog scanning requested, but' \
-			'$GIT_DIR/logs/HEAD not readable'
-	fi
-fi
-if test ! -z "$scan_merges"; then
-	candidates="$candidates $(search_merges $branch)"
-fi
-if test ! -z "$scan_merge_targets"; then
-	candidates="$candidates $(search_merge_targets $branch)"
-fi
-
-candidates="$(git rev-parse $candidates | sort -u)"
-
-if test -z "$candidates"; then
-	hint=
-	test "z$all_strategies" != "ztttt" \
-		&& hint=" (maybe try again with -a)"
-	die "no candidates for $branch found$hint"
-fi
-
-echo "** Candidates for $branch **"
-for cmt in $candidates; do
-	git --no-pager log --pretty=tformat:"%ct:%h [%cr] %s" --abbrev-commit -1 $cmt
-done \
-| sort -n | cut -d: -f2-
-
-newest="$(git rev-list -1 $candidates)"
-if test ! -z "$dry_run"; then
-	printf "** Most recent: "
-	git --no-pager log -1 --pretty=tformat:"%h %s" $newest
-elif ! git rev-parse --verify --quiet $new_name >/dev/null; then
-	printf "** Restoring $new_name to "
-	git --no-pager log -1 --pretty=tformat:"%h %s" $newest
-	git branch $new_name $newest
-else
-	printf "Most recent: "
-	git --no-pager log -1 --pretty=tformat:"%h %s" $newest
-	echo "** $new_name already exists, doing nothing"
-fi
-- 
1.9.2+fc1.28.g12374c0

  parent reply	other threads:[~2014-05-09 19:13 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-09 19:11 [PATCH v2 00/17] contrib: cleanup Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 01/17] contrib: remove outdated README Felipe Contreras
2014-05-09 19:58   ` Junio C Hamano
2014-05-09 21:54     ` Felipe Contreras
2014-05-13 18:10       ` Martin Langhoff
2014-05-13 18:27         ` Junio C Hamano
2014-05-13 18:54           ` Felipe Contreras
2014-05-13 21:05             ` Junio C Hamano
2014-05-13 21:35               ` Martin Langhoff
2014-05-13 22:29                 ` Felipe Contreras
2014-05-14 12:51                   ` Philippe Vaucher
2014-05-14 19:35                     ` Felipe Contreras
2014-05-14 19:55                       ` Martin Langhoff
2014-05-14 20:26                       ` Jeff King
2014-05-14 21:26                         ` Felipe Contreras
2014-05-14 20:59                       ` Junio C Hamano
2014-05-14 23:28                         ` Felipe Contreras
2014-05-14 23:50                           ` Martin Langhoff
2014-05-14 23:48                             ` Felipe Contreras
2014-05-15 22:56                           ` Junio C Hamano
2014-05-16  8:08                             ` Felipe Contreras
2014-05-16  8:59                               ` William Giokas
2014-05-16 10:21                                 ` Felipe Contreras
2014-05-16 11:25                                   ` William Giokas
2014-05-16 12:20                                     ` Felipe Contreras
2014-05-13 22:52               ` Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 02/17] contrib: remove 'vim' Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 03/17] contrib: remove 'emacs' Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 04/17] contrib: remove 'diffall' Felipe Contreras
2014-05-09 19:27   ` Tim Henigan
2014-05-09 19:11 ` [PATCH v2 05/17] contrib: remove 'hg-to-git' Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 07/17] contrib: remove 'stats' Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 08/17] contrib: remove 'convert-objects' Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 09/17] contrib: remove 'git-shell-commands' Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 10/17] contrib: reomve 'thunderbird-patch-inline' Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 11/17] contrib: remove 'workdir' Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 12/17] contrib: remove 'svn-fe' Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 13/17] contrib: remove 'rerere-train' Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 14/17] contrib: remove 'remotes2config' Felipe Contreras
2014-05-09 19:11 ` [PATCH v2 15/17] contrib: remove 'persistent-https' Felipe Contreras
2014-05-09 19:11 ` Felipe Contreras [this message]
2014-05-09 19:11 ` [PATCH v2 17/17] contrib: remove 'contacts' Felipe Contreras

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=1399662703-355-17-git-send-email-felipe.contreras@gmail.com \
    --to=felipe.contreras@gmail.com \
    --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).