summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-util/tkdiff
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-util/tkdiff')
-rw-r--r--dev-util/tkdiff/Manifest1
-rw-r--r--dev-util/tkdiff/files/tkdiff-4.1.4-hg.patch143
-rw-r--r--dev-util/tkdiff/metadata.xml8
-rw-r--r--dev-util/tkdiff/tkdiff-4.2.ebuild24
4 files changed, 176 insertions, 0 deletions
diff --git a/dev-util/tkdiff/Manifest b/dev-util/tkdiff/Manifest
new file mode 100644
index 000000000000..5bb71047f1df
--- /dev/null
+++ b/dev-util/tkdiff/Manifest
@@ -0,0 +1 @@
+DIST tkdiff-4.2.tar.gz 92063 SHA256 734bb417184c10072eb64e8d274245338e41b7fdeff661b5ef30e89f3e3aa357 SHA512 6c16475b808a9ac4d51a3e0b348d12739d821743eb205281473408a722ef7329e7dee61b4e0536741fab0c88eb67b00080d84598fca5e3215d4b183a858f6984 WHIRLPOOL bb04cdc915a7ac911435640f36ceb395d54682912af0332b2479587ae9fba1256e6c1a6fa530c0abdb447bf8b5eedc3405f87cc125fc040330b9abd261f45f5b
diff --git a/dev-util/tkdiff/files/tkdiff-4.1.4-hg.patch b/dev-util/tkdiff/files/tkdiff-4.1.4-hg.patch
new file mode 100644
index 000000000000..d179b4e65448
--- /dev/null
+++ b/dev-util/tkdiff/files/tkdiff-4.1.4-hg.patch
@@ -0,0 +1,143 @@
+Added support for Mercurial (hg) source control. Mercurial is an
+open-source distributed source control system, conceptually similar to
+Git, Bazaar (bzr), Darcs, and the commercial system BitKeeper
+(which tkdiff already supports).
+
+While Mercurial already comes with a tkdiff wrapper called "hgdiff",
+this script does not support arbitrary revisions in the way that the
+actual hg diff command does (e.g. "hg diff -r2 -r5 filename). This
+patch gives tkdiff support for all the revision numbers that "hg diff"
+supports.
+
+The code changes are small and mostly boilerplate, but I did add one
+new procedure called "is-mercurial-repository". This was added
+because mercurial uses a single ".hg" directory at the top-level
+directory of a repository rather than having a directory at each
+different directory inside the repository. The new procedure simply
+traverses up the parent directories until it either finds a .hg
+directory (indicating that we're in a Mercurial repository) or hits
+the root directory (indicating that we're not).
+
+Since the list of supported source control systems is getting large, I
+alphabetized the list in the command-line help text and also modified
+other parts of this help text to say things like "RCS, CVS, etc."
+rather than exhaustively listing all the supported systems yet again.
+
+More information on Mercurial can be found at
+ http://www.selenic.com/mercurial/wiki/ and
+ http://en.wikipedia.org/wiki/Mercurial_(software)
+
+diff -r 92c7c897cdd3 -r d32253d0cd0f tkdiff
+--- a/tkdiff Sat Jan 05 00:42:06 2008 -0800
++++ b/tkdiff Wed Jan 09 06:05:01 2008 -0800
+@@ -743,6 +743,7 @@ proc get-file-rev {f index {r ""}} {
+ set bkopt ""
+ set pvcsopt ""
+ set p4file "$f"
++ set hgopt ""
+ } else {
+ set rev "r$r"
+ set acrev "\"$r\""
+@@ -754,6 +755,7 @@ proc get-file-rev {f index {r ""}} {
+ set bkopt "-r$r"
+ set pvcsopt "-r$r"
+ set p4file "$f#$r"
++ set hgopt "-r$r"
+ }
+
+ set finfo(pth,$index) [tmpfile $index]
+@@ -907,6 +909,23 @@ proc get-file-rev {f index {r ""}} {
+ puts "Couldn't deal with $f, exiting..."
+ exit
+ }
++ } elseif {[is-mercurial-repository $dirname]} {
++ # mercurial support
++ set cmd "hg"
++ if {$::tcl_platform(platform) == "windows"} {
++ append cmd ".exe"
++ }
++ if {"$r" == "" || "$rev" == "PARENT"} {
++ # in hg, the revision for cat defaults to the parent revision
++ # of the working directory
++ set finfo(lbl,$index) "$f (HG PARENT)"
++ debug-info " Setting lbl $finfo(lbl,$index)"
++ die-unless "exec $cmd cat $f" $finfo(pth,$index)
++ } else {
++ set finfo(lbl,$index) "$f (HG $rev)"
++ debug-info " Setting lbl $finfo(lbl,$index)"
++ die-unless "exec $cmd cat $hgopt $f" $finfo(pth,$index)
++ }
+ } else {
+ fatal-error "File '$f' is not part of a revision control system"
+ }
+@@ -916,6 +935,19 @@ proc get-file-rev {f index {r ""}} {
+ set finfo(lbl,$index) $finfo(userlbl,$index)
+ debug-info " User label: $finfo(lbl,$index)"
+ }
++}
++
++proc is-mercurial-repository {dirname} {
++ # check for a .hg directory in all parent directories
++ set dirname [file normalize $dirname]
++ set prevdir {}
++ while {$dirname != $prevdir} {
++ set hgfilename [file join $dirname .hg]
++ if {[file isdirectory $hgfilename]} { return true }
++ set prevdir $dirname
++ set dirname [file dirname $dirname]
++ }
++ return false
+ }
+
+ proc sccs-is-bk {} {
+@@ -6105,8 +6137,8 @@ proc do-usage {mode} {
+ Plain file with conflict markers:
+ tkdiff -conflict FILE
+
+- Source control (AccuRev, BitKeeper, CVS, Subversion, Perforce, PVCS,
+- RCS, SCCS, ClearCase)
++ Source control (AccuRev, BitKeeper, ClearCase, CVS, Mercurial, Perforce,
++ PVCS, RCS, SCCS, and Subversion)
+ tkdiff FILE
+ tkdiff -rREV FILE
+ tkdiff -rREV1 -rREV2 FILE
+@@ -6125,7 +6157,9 @@ proc do-usage {mode} {
+ directory with the same name. It detects and supports PVCS by looking \
+ for a vcs.cfg file. It detects and supports AccuRev, Perforce and \
+ ClearCase by looking for the environment variables named ACCUREV_BIN, \
+- P4CLIENT, and CLEARCASE_ROOT respectively.
++ P4CLIENT, and CLEARCASE_ROOT respectively. It detects and supports \
++ Mercurial by looking for a directory named ".hg" in the current \
++ directory or any of its ancestor directories.
+
+ In the first form, tkdiff will present a dialog to allow you to choose the \
+ files to diff interactively. At present this dialog only supports a \
+@@ -6139,9 +6173,9 @@ In the second form, at least one of the
+
+ In the remaining forms, <cmp>REV</cmp> (or <cmp>REV1</cmp> and \
+ <cmp>REV2</cmp>) must be a valid revision number for <cmp>FILE</cmp>. \
+- Where AccuRev, RCS, CVS, Subversion, SCCS, PVCS or Perforce is implied \
++ When a source control system (RCS, CVS, etc.) is detected (see above) \
+ but no revision number is specified, <cmp>FILE</cmp> is compared with \
+- the the revision most recently checked in.
++ the revision most recently checked in.
+
+ To merge a file with conflict markers generated by "<cmp>merge</cmp>", \
+ "<cmp>cvs</cmp>", or "<cmp>vmrg</cmp>", use \
+@@ -6149,13 +6183,10 @@ To merge a file with conflict markers ge
+ files which you can merge as usual (see below).
+
+ For "<cmp>tkdiff FILE</cmp>" The CVS version has priority, followed by the \
+- Subversion version, followed by the SCCS version -- i.e. if a CVS \
++ Subversion version, followed by the SCCS version, followed by RCS, \
++ PVCS, Perforce, AccuRev, ClearCase, and Mercurial -- i.e. if a CVS \
+ directory is present, CVS; if not and a Subversion directory is \
+- present, Subversion; if not and an SCCS directory is present, SCCS is \
+- assumed; otherwise, if a CVS.CFG file is found, PVCS is assumed; \
+- otherwise RCS is assumed. If none of the above apply and the AccuRev \
+- environment variable ACCUREV_BIN is found, AccuRev is used. If P4CLIENT \
+- is found, Perforce is used. If CLEARCASE_ROOT is found, ClearCase is used.
++ present, Subversion; etc.
+
+ If the merge output filename is not specified, tkdiff will present a dialog \
+ to allow you to choose the name of the merge output file.
diff --git a/dev-util/tkdiff/metadata.xml b/dev-util/tkdiff/metadata.xml
new file mode 100644
index 000000000000..e2cbb4ff9322
--- /dev/null
+++ b/dev-util/tkdiff/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>tcltk</herd>
+ <upstream>
+ <remote-id type="sourceforge">tkdiff</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-util/tkdiff/tkdiff-4.2.ebuild b/dev-util/tkdiff/tkdiff-4.2.ebuild
new file mode 100644
index 000000000000..88dc0850c351
--- /dev/null
+++ b/dev-util/tkdiff/tkdiff-4.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Graphical front end to the diff program"
+HOMEPAGE="http://tkdiff.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-lang/tk"
+DEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-unix"
+
+src_install() {
+ dobin tkdiff
+ dodoc CHANGELOG.txt
+}