summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Ospald <hasufell@gentoo.org>2015-08-13 22:36:10 +0200
committerJulian Ospald <hasufell@gentoo.org>2015-08-13 22:36:59 +0200
commit6b77a54f68402b6cea3c0cd7dceee725cfd5619c (patch)
tree84913d06070499ca8f3f34542760dcd8a092ba15 /dev-vcs
parentprofiles: Mask Nepomuk stack for removal (diff)
downloadgentoo-6b77a54f68402b6cea3c0cd7dceee725cfd5619c.tar.gz
gentoo-6b77a54f68402b6cea3c0cd7dceee725cfd5619c.tar.bz2
gentoo-6b77a54f68402b6cea3c0cd7dceee725cfd5619c.zip
dev-vcs/git-imerge: initial import of version 0.7.0
Diffstat (limited to 'dev-vcs')
-rw-r--r--dev-vcs/git-imerge/Manifest1
-rw-r--r--dev-vcs/git-imerge/files/git-imerge.bashcomplete267
-rw-r--r--dev-vcs/git-imerge/git-imerge-0.7.0.ebuild38
-rw-r--r--dev-vcs/git-imerge/metadata.xml8
4 files changed, 314 insertions, 0 deletions
diff --git a/dev-vcs/git-imerge/Manifest b/dev-vcs/git-imerge/Manifest
new file mode 100644
index 000000000000..ee278c952ec4
--- /dev/null
+++ b/dev-vcs/git-imerge/Manifest
@@ -0,0 +1 @@
+DIST git-imerge-0.7.0.tar.gz 52040 SHA256 0688fe4c13c65c6fa90989c57c04fafe34114889d2d100b6e62538e8f2b0dc02 SHA512 140fd1b056097ff59848c4312ca02a1bd9ff136b7680e25b8575d3824c9b189fb2f8de2b5100966f774f003bb538f1e649e758edf5ab4bd3b1f9b824645738c4 WHIRLPOOL ab8e412039b82d2d057cba7c4ffe3a392653e88cb2b0492cd7a1da57896e59115c5e4d737b6389ddcf177d0c30ef4d4dc0722d9dc16bd93f6647016ff488588f
diff --git a/dev-vcs/git-imerge/files/git-imerge.bashcomplete b/dev-vcs/git-imerge/files/git-imerge.bashcomplete
new file mode 100644
index 000000000000..0fe8e04f64de
--- /dev/null
+++ b/dev-vcs/git-imerge/files/git-imerge.bashcomplete
@@ -0,0 +1,267 @@
+__git_imerge_branches () {
+ git for-each-ref --format='%(refname)' refs/heads/ refs/remotes/ 2>/dev/null |
+ sed -e 's!^refs/heads/!!' -e 's!^refs/remotes/!!'
+}
+
+__git_imerge_names () {
+ git for-each-ref --format='%(refname)' refs/imerge/ 2>/dev/null |
+ sed -e 's/^refs\/imerge\/\(.*\)\/.*/\1/' -e '/manual/d' -e '/auto/d'
+}
+
+__git_imerge_goals="\
+merge
+rebase
+rebase-with-history
+full
+"
+
+__git_imerge_commands="\
+start
+merge
+rebase
+continue
+finish
+diagram
+list
+init
+record
+autofill
+simplify
+remove
+reparent
+"
+
+__git_imerge_start_options="\
+--help
+--manual
+--name
+--branch
+--goal
+--first-parent
+"
+
+__git_imerge_init_options=$__git_imerge_start_options
+
+__git_imerge_continue_options="\
+--help
+--name
+--edit
+--no-edit
+"
+
+__git_imerge_finish_options="\
+--help
+--name
+--goal
+--branch
+--force
+"
+
+__git_imerge_simplify_options=$__git_imerge_finish_options
+
+__git_imerge_merge_options="\
+--help
+--name
+--goal
+--branch
+--manual
+"
+
+__git_imerge_list_options="\
+--help
+"
+
+__git_imerge_reparent_options=$__git_imerge_list_options
+
+__git_imerge_record_options="\
+--help
+--name
+--edit
+--no-edit
+"
+
+__git_imerge_autofill_options="\
+--help
+--name
+"
+
+__git_imerge_diagram_options="\
+--help
+--name
+--commits
+--frontier
+--html
+--color
+--no-color
+"
+
+__git_imerge_remove_options=$__git_imerge_autofill_options
+
+__git_imerge_rebase_options=$__git_imerge_merge_options
+
+__git-imerge_start_completion() {
+ case "$1_$cur" in
+ --help_|--branch_|_--branch=|--name_|_--name=)
+ return
+ ;;
+ --goal_*|*_--goal=*)
+ __gitcomp "$__git_imerge_goals" "" "${cur##--goal=}"
+ return
+ ;;
+ *-|*_-*?)
+ __gitcomp "$__git_imerge_start_options"
+ return
+ ;;
+ esac
+ __gitcomp "$(__git_imerge_branches)"
+}
+
+__git-imerge_init_completion() {
+ __git-imerge_start_completion $1
+}
+
+__git-imerge_continue_completion() {
+ case "$1_$cur" in
+ --help_)
+ return
+ ;;
+ --name_*|*_--name=*)
+ __gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
+ return
+ ;;
+ esac
+ __gitcomp "$__git_imerge_continue_options"
+}
+
+__git-imerge_finish_completion() {
+ case "$1_$cur" in
+ --help_)
+ return
+ ;;
+ --goal_*|*_--goal=*)
+ __gitcomp "$__git_imerge_goals" "" "${cur##--goal=}"
+ return
+ ;;
+ --branch_*|*_--branch=*)
+ __gitcomp "$(__git_imerge_branches)" "" "${cur##--branch=}"
+ return
+ ;;
+ --name_*|*_--name=*)
+ __gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
+ return
+ ;;
+ esac
+ __gitcomp "$__git_imerge_finish_options"
+}
+
+__git-imerge_simplify_completion() {
+ __git-imerge_finish_completion $1
+}
+
+__git-imerge_merge_completion() {
+ case "$1_$cur" in
+ --help_|--branch_|_--branch=|--name_|_--name=)
+ return
+ ;;
+ --goal_*|*_--goal=*)
+ __gitcomp "$__git_imerge_goals" "" "${cur##--goal=}"
+ return
+ ;;
+ *-|*_-*?)
+ __gitcomp "$__git_imerge_merge_options"
+ return
+ ;;
+ esac
+ __gitcomp "$(__git_imerge_branches)"
+}
+
+__git-imerge_rebase_completion() {
+ __git-imerge_merge_completion $1
+}
+
+__git-imerge_list_completion() {
+ case "$1" in
+ --help)
+ return
+ ;;
+ esac
+ __gitcomp "$__git_imerge_list_options"
+}
+
+__git-imerge_reparent_completion() {
+ __git-imerge_list_completion $1
+}
+
+__git-imerge_record_completion() {
+ case "$1_$cur" in
+ --help_)
+ return
+ ;;
+ --name_*|*_--name=*)
+ __gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
+ return
+ ;;
+ esac
+ __gitcomp "$__git_imerge_record_options"
+}
+
+__git-imerge_autofill_completion() {
+ case "$1_$cur" in
+ --help_)
+ return
+ ;;
+ --name_*|*_--name=*)
+ __gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
+ return
+ ;;
+ esac
+ __gitcomp "$__git_imerge_autofill_options"
+}
+
+__git-imerge_remove_completion() {
+ __git-imerge_autofill_completion $1
+}
+
+__git-imerge_diagram_completion() {
+ case "$1_$cur" in
+ --help_|--html_|_--html=)
+ return
+ ;;
+ --name_*|*_--name=*)
+ __gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
+ return
+ ;;
+ esac
+ __gitcomp "$__git_imerge_diagram_options"
+}
+
+_git_imerge () {
+ # Disable default filename completion. Note that "compopt" is only
+ # available in Bash 4 and newer, so we check for existence before
+ # trying to use it.
+ type compopt >/dev/null 2>&1 && compopt +o default +o bashdefault
+
+ local i command cur_opt
+ for ((i=0; i <= ${cword}; i++)); do
+ if [ -n "$command" ] && [ "${words[i]}" != "$cur" ]; then
+ cur_opt="${words[i]}"
+ fi
+ if [ -z "$command" ] && \
+ [ "$i" -lt "${cword}" ] && \
+ [[ "${words[i-1]}" == *"imerge"* ]]
+ then
+ command="${words[i]}"
+ fi
+ done
+
+ if test -z "$command"; then
+ __gitcomp "$__git_imerge_commands"
+ return
+ fi
+
+ if [ -z `type -t __git-imerge_"$command"_completion "$cur_opt"` ]; then
+ return
+ fi
+
+ __git-imerge_"$command"_completion "$cur_opt"
+}
diff --git a/dev-vcs/git-imerge/git-imerge-0.7.0.ebuild b/dev-vcs/git-imerge/git-imerge-0.7.0.ebuild
new file mode 100644
index 000000000000..1b45ef09d31f
--- /dev/null
+++ b/dev-vcs/git-imerge/git-imerge-0.7.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit bash-completion-r1 python-r1
+
+DESCRIPTION="Incremental merge for git"
+HOMEPAGE="https://github.com/mhagger/git-imerge"
+SRC_URI="https://github.com/mhagger/git-imerge/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}"
+DEPEND="dev-python/docutils"
+
+src_compile() {
+ rst2html.py README.rst > README.html || die
+ rst2s5.py \
+ --theme=small-white \
+ --current-slide \
+ doc/presentations/GitMerge-2013/talk.rst doc/presentations/GitMerge-2013/talk.html || die
+}
+
+src_install() {
+ dobin ${PN}
+ python_replicate_script "${D}"/usr/bin/${PN}
+ newbashcomp "${FILESDIR}"/git-imerge.bashcomplete git-imerge
+ dodoc README.rst
+ dohtml README.html doc/presentations/GitMerge-2013/talk.html
+}
diff --git a/dev-vcs/git-imerge/metadata.xml b/dev-vcs/git-imerge/metadata.xml
new file mode 100644
index 000000000000..a309a9b4706a
--- /dev/null
+++ b/dev-vcs/git-imerge/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hasufell@gentoo.org</email>
+ <name>Julian Ospald</name>
+ </maintainer>
+</pkgmetadata>