FreeBSD Bugzilla – Attachment 177663 Details for
Bug 215050
[NEW PORT] devel/topgit: make handling of large amounts of interdependent topic branches easier
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
devel/topgit: opted for git patch, instead of shar
topgit.patch (text/plain), 6.72 KB, created by
joe
on 2016-12-04 18:01:51 UTC
(
hide
)
Description:
devel/topgit: opted for git patch, instead of shar
Filename:
MIME Type:
Creator:
joe
Created:
2016-12-04 18:01:51 UTC
Size:
6.72 KB
patch
obsolete
>changeset: 427557:bc5633d541d4 >branch: stable >bookmark: jbenden-topgit >tag: tip >user: Joseph Benden <joe@thrallingpenguin.com> >date: Sun Dec 04 10:31:09 2016 -0700 >summary: devel/topgit: adds new port > > devel/Makefile | 1 + > devel/topgit/Makefile | 25 +++++++++++++++++++++++++ > devel/topgit/distinfo | 3 +++ > devel/topgit/files/patch-gnu-sed-compat | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > devel/topgit/pkg-descr | 8 ++++++++ > devel/topgit/pkg-plist | 41 +++++++++++++++++++++++++++++++++++++++++ > 6 files changed, 154 insertions(+), 0 deletions(-) > >diff --git a/devel/Makefile b/devel/Makefile >--- a/devel/Makefile >+++ b/devel/Makefile >@@ -5470,6 +5470,7 @@ > SUBDIR += tnt > SUBDIR += toh > SUBDIR += tokamak >+ SUBDIR += topgit > SUBDIR += tortoisehg > SUBDIR += tpasm > SUBDIR += tr-eric6 >diff --git a/devel/topgit/Makefile b/devel/topgit/Makefile >new file mode 100644 >--- /dev/null >+++ b/devel/topgit/Makefile >@@ -0,0 +1,25 @@ >+# $FreeBSD$ >+ >+PORTNAME= topgit >+PORTVERSION= 201611291150 >+CATEGORIES= devel >+ >+MAINTAINER= joe@thrallingpenguin.com >+COMMENT= A different patch queue manager >+ >+LICENSE= GPLv2 >+ >+RUN_DEPENDS= git:devel/git >+ >+USES= gmake tar:xz >+NO_BUILD= yes >+ >+USE_GITHUB= yes >+GH_ACCOUNT= greenrd >+GH_PROJECT= topgit >+GH_TAGNAME= 736f664 >+ >+do-install: >+ cd ${WRKSRC} && gmake prefix=${PREFIX} DESTDIR=${STAGEDIR} install >+ >+.include <bsd.port.mk> >diff --git a/devel/topgit/distinfo b/devel/topgit/distinfo >new file mode 100644 >--- /dev/null >+++ b/devel/topgit/distinfo >@@ -0,0 +1,3 @@ >+TIMESTAMP = 1480445663 >+SHA256 (greenrd-topgit-201611291150-736f664_GH0.tar.gz) = 2a405db941c4dceda38d4328f6ecc49e20680a6a9ebabc83537143df32f15732 >+SIZE (greenrd-topgit-201611291150-736f664_GH0.tar.gz) = 40686 >diff --git a/devel/topgit/files/patch-gnu-sed-compat b/devel/topgit/files/patch-gnu-sed-compat >new file mode 100644 >--- /dev/null >+++ b/devel/topgit/files/patch-gnu-sed-compat >@@ -0,0 +1,76 @@ >+diff --git tg-base.sh tg-base.sh >+index c42157f..5ef4084 100644 >+--- tg-base.sh >++++ tg-base.sh >+@@ -20,7 +20,7 @@ fi >+ >+ rv=0 >+ for rev in "$@"; do >+- name="$( { git symbolic-ref -q "$rev" || echo "$rev"; } | sed 's#^refs/\(heads\|top-bases\)/##')" >++ name="$( { git symbolic-ref -q "$rev" || echo "$rev"; } | sed -r 's#^refs/(heads|top-bases)/##')" >+ git rev-parse --short --verify "refs/top-bases/$name" 2>/dev/null || { >+ rv=1 >+ echo $rev is not a TopGit branch >&2 >+diff --git tg-depend.sh tg-depend.sh >+index cf78946..64073df 100644 >+--- tg-depend.sh >++++ tg-depend.sh >+@@ -43,7 +43,7 @@ branchrev="$(git rev-parse --verify "$name" 2>/dev/null)" || >+ die "invalid branch name: $name" >+ >+ # Check that we are on a TopGit branch. >+-current_name="$(git symbolic-ref HEAD | sed 's#^refs/\(heads\|top-bases\)/##')" >++current_name="$(git symbolic-ref HEAD | sed -r 's#^refs/(heads|top-bases)/##')" >+ current_base_rev="$(git rev-parse --short --verify "refs/top-bases/$current_name" 2>/dev/null)" || >+ die "not a TopGit-controlled branch" >+ >+diff --git tg-info.sh tg-info.sh >+index 0ff82d1..98140ba 100644 >+--- tg-info.sh >++++ tg-info.sh >+@@ -20,7 +20,7 @@ while [ -n "$1" ]; do >+ esac >+ done >+ >+-[ -n "$name" ] || name="$(git symbolic-ref HEAD | sed 's#^refs/\(heads\|top-bases\)/##')" >++[ -n "$name" ] || name="$(git symbolic-ref HEAD | sed -r 's#^refs/(heads|top-bases)/##')" >+ base_rev="$(git rev-parse --short --verify "refs/top-bases/$name" 2>/dev/null)" || >+ die "not a TopGit-controlled branch" >+ >+diff --git tg-summary.sh tg-summary.sh >+index 3b4331c..affdf14 100644 >+--- tg-summary.sh >++++ tg-summary.sh >+@@ -31,7 +31,7 @@ while [ -n "$1" ]; do >+ esac >+ done >+ >+-curname="$(git symbolic-ref HEAD | sed 's#^refs/\(heads\|top-bases\)/##')" >++curname="$(git symbolic-ref HEAD | sed -r 's#^refs/(heads|top-bases)/##')" >+ >+ [ "$terse$graphviz$sort$deps" = "" ] || >+ [ "$terse$graphviz$sort$deps" = "1" ] || >+diff --git tg-update.sh tg-update.sh >+index ce64789..1a73b1d 100644 >+--- tg-update.sh >++++ tg-update.sh >+@@ -31,7 +31,7 @@ while [ -n "$1" ]; do >+ done >+ [ -z "$pattern" ] && pattern=refs/top-bases >+ >+-current="$(git symbolic-ref HEAD 2>/dev/null | sed 's#^refs/\(heads\|top-bases\)/##')" >++current="$(git symbolic-ref HEAD 2>/dev/null | sed -r 's#^refs/(heads|top-bases)/##')" >+ if [ -z "$all" ]; then >+ if [ -z "$name" ]; then >+ name="$current" >+@@ -76,8 +76,8 @@ update_branch() { >+ >+ cat "$depcheck" | >+ sed 's/ [^ ]* *$//' | # last is $name >+- sed 's/.* \([^ ]*\)$/+\1/' | # only immediate dependencies >+- sed 's/^\([^+]\)/-\1/' | # now each line is +branch or -branch (+ == recurse) >++ sed -r 's/.* ([^ ]*)$/+\1/' | # only immediate dependencies >++ sed -r 's/^([^+])/-\1/' | # now each line is +branch or -branch (+ == recurse) >+ uniq -s 1 | # fold branch lines; + always comes before - and thus wins within uniq >+ while read depline; do >+ action="$(echo "$depline" | cut -c 1)" >diff --git a/devel/topgit/pkg-descr b/devel/topgit/pkg-descr >new file mode 100644 >--- /dev/null >+++ b/devel/topgit/pkg-descr >@@ -0,0 +1,8 @@ >+TopGit aims to make handling of large amounts of interdependent topic >+branches easier. In fact, it is designed especially for the case where >+you maintain a queue of third-party patches on top of another (perhaps >+Git-controlled) project and want to easily organize, maintain and submit >+them - TopGit achieves that by keeping a separate topic branch for each >+patch and providing some tools to maintain the branches. >+ >+WWW: https://github.com/greenrd/topgit >diff --git a/devel/topgit/pkg-plist b/devel/topgit/pkg-plist >new file mode 100644 >--- /dev/null >+++ b/devel/topgit/pkg-plist >@@ -0,0 +1,41 @@ >+bin/tg >+libexec/topgit/hooks/pre-commit >+libexec/topgit/tg-annihilate >+libexec/topgit/tg-base >+libexec/topgit/tg-checkout >+libexec/topgit/tg-create >+libexec/topgit/tg-delete >+libexec/topgit/tg-depend >+libexec/topgit/tg-export >+libexec/topgit/tg-files >+libexec/topgit/tg-import >+libexec/topgit/tg-info >+libexec/topgit/tg-log >+libexec/topgit/tg-mail >+libexec/topgit/tg-next >+libexec/topgit/tg-patch >+libexec/topgit/tg-prev >+libexec/topgit/tg-push >+libexec/topgit/tg-remote >+libexec/topgit/tg-summary >+libexec/topgit/tg-update >+share/topgit/leaves.awk >+share/topgit/tg-annihilate.txt >+share/topgit/tg-base.txt >+share/topgit/tg-checkout.txt >+share/topgit/tg-create.txt >+share/topgit/tg-delete.txt >+share/topgit/tg-depend.txt >+share/topgit/tg-export.txt >+share/topgit/tg-files.txt >+share/topgit/tg-import.txt >+share/topgit/tg-info.txt >+share/topgit/tg-log.txt >+share/topgit/tg-mail.txt >+share/topgit/tg-next.txt >+share/topgit/tg-patch.txt >+share/topgit/tg-prev.txt >+share/topgit/tg-push.txt >+share/topgit/tg-remote.txt >+share/topgit/tg-summary.txt >+share/topgit/tg-update.txt >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 215050
:
177662
| 177663