about summary refs log tree commit diff
path: root/third_party/git/git-request-pull.sh
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-09-21T10·03+0300
committerVincent Ambo <mail@tazj.in>2021-09-21T11·29+0300
commit43b1791ec601732ac31195df96781a848360a9ac (patch)
treedaae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/git-request-pull.sh
parent2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (diff)
chore(3p/git): Unvendor git and track patches instead r/2903
This was vendored a long time ago under the expectation that keeping
it in sync with cgit would be easier this way, but it has proven not
to be a big issue.

On the other hand, a vendored copy of git is an annoying maintenance
burden. It is much easier to rebase the single (dottime) patch that we
have.

This removes the vendored copy of git and instead passes the git
source code to cgit via `pkgs.srcOnly`, which includes the applied
patch so that cgit can continue rendering dottime.

Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
Diffstat (limited to 'third_party/git/git-request-pull.sh')
-rwxr-xr-xthird_party/git/git-request-pull.sh172
1 files changed, 0 insertions, 172 deletions
diff --git a/third_party/git/git-request-pull.sh b/third_party/git/git-request-pull.sh
deleted file mode 100755
index 2d0e44656c..0000000000
--- a/third_party/git/git-request-pull.sh
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/sh
-# Copyright 2005, Ryan Anderson <ryan@michonline.com>
-#
-# This file is licensed under the GPL v2, or a later version
-# at the discretion of Linus Torvalds.
-
-SUBDIRECTORY_OK='Yes'
-OPTIONS_KEEPDASHDASH=
-OPTIONS_STUCKLONG=
-OPTIONS_SPEC='git request-pull [options] start url [end]
---
-p    show patch text as well
-'
-
-. git-sh-setup
-
-GIT_PAGER=
-export GIT_PAGER
-
-patch=
-while	case "$#" in 0) break ;; esac
-do
-	case "$1" in
-	-p)
-		patch=-p ;;
-	--)
-		shift; break ;;
-	-*)
-		usage ;;
-	*)
-		break ;;
-	esac
-	shift
-done
-
-base=$1 url=$2 status=0
-
-test -n "$base" && test -n "$url" || usage
-
-baserev=$(git rev-parse --verify --quiet "$base"^0)
-if test -z "$baserev"
-then
-    die "fatal: Not a valid revision: $base"
-fi
-
-#
-# $3 must be a symbolic ref, a unique ref, or
-# a SHA object expression. It can also be of
-# the format 'local-name:remote-name'.
-#
-local=${3%:*}
-local=${local:-HEAD}
-remote=${3#*:}
-pretty_remote=${remote#refs/}
-pretty_remote=${pretty_remote#heads/}
-head=$(git symbolic-ref -q "$local")
-head=${head:-$(git show-ref --heads --tags "$local" | cut -d' ' -f2)}
-head=${head:-$(git rev-parse --quiet --verify "$local")}
-
-# None of the above? Bad.
-test -z "$head" && die "fatal: Not a valid revision: $local"
-
-# This also verifies that the resulting head is unique:
-# "git show-ref" could have shown multiple matching refs..
-headrev=$(git rev-parse --verify --quiet "$head"^0)
-test -z "$headrev" && die "fatal: Ambiguous revision: $local"
-
-local_sha1=$(git rev-parse --verify --quiet "$head")
-
-# Was it a branch with a description?
-branch_name=${head#refs/heads/}
-if test "z$branch_name" = "z$headref" ||
-	! git config "branch.$branch_name.description" >/dev/null
-then
-	branch_name=
-fi
-
-merge_base=$(git merge-base $baserev $headrev) ||
-die "fatal: No commits in common between $base and $head"
-
-# $head is the refname from the command line.
-# Find a ref with the same name as $head that exists at the remote
-# and points to the same commit as the local object.
-find_matching_ref='
-	my ($head,$headrev) = (@ARGV);
-	my $pattern = qr{/\Q$head\E$};
-	my ($remote_sha1, $found);
-
-	while (<STDIN>) {
-		chomp;
-		my ($sha1, $ref, $deref) = /^(\S+)\s+([^^]+)(\S*)$/;
-
-		if ($sha1 eq $head) {
-			$found = $remote_sha1 = $sha1;
-			break;
-		}
-
-		if ($ref eq $head || $ref =~ $pattern) {
-			if ($deref eq "") {
-				# Remember the matching object on the remote side
-				$remote_sha1 = $sha1;
-			}
-			if ($sha1 eq $headrev) {
-				$found = $ref;
-				break;
-			}
-		}
-	}
-	if ($found) {
-		$remote_sha1 = $headrev if ! defined $remote_sha1;
-		print "$remote_sha1 $found\n";
-	}
-'
-
-set fnord $(git ls-remote "$url" | @@PERL@@ -e "$find_matching_ref" "${remote:-HEAD}" "$headrev")
-remote_sha1=$2
-ref=$3
-
-if test -z "$ref"
-then
-	echo "warn: No match for commit $headrev found at $url" >&2
-	echo "warn: Are you sure you pushed '${remote:-HEAD}' there?" >&2
-	status=1
-elif test "$local_sha1" != "$remote_sha1"
-then
-	echo "warn: $head found at $url but points to a different object" >&2
-	echo "warn: Are you sure you pushed '${remote:-HEAD}' there?" >&2
-	status=1
-fi
-
-# Special case: turn "for_linus" to "tags/for_linus" when it is correct
-if test "$ref" = "refs/tags/$pretty_remote"
-then
-	pretty_remote=tags/$pretty_remote
-fi
-
-url=$(git ls-remote --get-url "$url")
-
-git show -s --format='The following changes since commit %H:
-
-  %s (%ci)
-
-are available in the Git repository at:
-' $merge_base &&
-echo "  $url $pretty_remote" &&
-git show -s --format='
-for you to fetch changes up to %H:
-
-  %s (%ci)
-
-----------------------------------------------------------------' $headrev &&
-
-if test $(git cat-file -t "$head") = tag
-then
-	git cat-file tag "$head" |
-	sed -n -e '1,/^$/d' -e '/^-----BEGIN PGP /q' -e p
-	echo
-	echo "----------------------------------------------------------------"
-fi &&
-
-if test -n "$branch_name"
-then
-	echo "(from the branch description for $branch_name local branch)"
-	echo
-	git config "branch.$branch_name.description"
-	echo "----------------------------------------------------------------"
-fi &&
-
-git shortlog ^$baserev $headrev &&
-git diff -M --stat --summary $patch $merge_base..$headrev || status=1
-
-exit $status