summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Pawlik <nelchael@gentoo.org>2007-12-25 19:44:41 +0000
committerKrzysztof Pawlik <nelchael@gentoo.org>2007-12-25 19:44:41 +0000
commit77c73437a10373458ffad3c41aa2d1d35f0447df (patch)
tree2c77ca36a426f15697992dccd4dc01c335e35503 /dev-util/mercurial
parentAdd package to emacs herd. Remove old. (diff)
downloadgentoo-2-77c73437a10373458ffad3c41aa2d1d35f0447df.tar.gz
gentoo-2-77c73437a10373458ffad3c41aa2d1d35f0447df.tar.bz2
gentoo-2-77c73437a10373458ffad3c41aa2d1d35f0447df.zip
Add upstream patch to hide passwords with http://user:password@.../ URLs.
(Portage version: 2.1.4_rc11)
Diffstat (limited to 'dev-util/mercurial')
-rw-r--r--dev-util/mercurial/ChangeLog9
-rw-r--r--dev-util/mercurial/files/digest-mercurial-0.9.5-r13
-rw-r--r--dev-util/mercurial/files/mercurial-0.9.5-hide-passwords.diff103
-rw-r--r--dev-util/mercurial/mercurial-0.9.5-r1.ebuild81
-rw-r--r--dev-util/mercurial/metadata.xml14
5 files changed, 204 insertions, 6 deletions
diff --git a/dev-util/mercurial/ChangeLog b/dev-util/mercurial/ChangeLog
index 52ba990b4775..d66f547e7e18 100644
--- a/dev-util/mercurial/ChangeLog
+++ b/dev-util/mercurial/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-util/mercurial
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/mercurial/ChangeLog,v 1.58 2007/11/07 10:57:51 aross Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/mercurial/ChangeLog,v 1.59 2007/12/25 19:44:41 nelchael Exp $
+
+*mercurial-0.9.5-r1 (25 Dec 2007)
+
+ 25 Dec 2007; Krzysiek Pawlik <nelchael@gentoo.org>
+ +files/mercurial-0.9.5-hide-passwords.diff, metadata.xml,
+ +mercurial-0.9.5-r1.ebuild:
+ Add upstream patch to hide passwords with http://user:password@.../ URLs.
*mercurial-0.9.5 (07 Nov 2007)
diff --git a/dev-util/mercurial/files/digest-mercurial-0.9.5-r1 b/dev-util/mercurial/files/digest-mercurial-0.9.5-r1
new file mode 100644
index 000000000000..9db06dca2d90
--- /dev/null
+++ b/dev-util/mercurial/files/digest-mercurial-0.9.5-r1
@@ -0,0 +1,3 @@
+MD5 a9dd54bcb87ca332315ce83293816e37 mercurial-0.9.5.tar.gz 670808
+RMD160 ea38d3142a4b1087e2777de3b70df8b4672cd237 mercurial-0.9.5.tar.gz 670808
+SHA256 cfe02baaa4e18c3af6bbaf1be4ad21c8570d4962b8cefb74dd83d9f309f564d8 mercurial-0.9.5.tar.gz 670808
diff --git a/dev-util/mercurial/files/mercurial-0.9.5-hide-passwords.diff b/dev-util/mercurial/files/mercurial-0.9.5-hide-passwords.diff
new file mode 100644
index 000000000000..1a4db2455cca
--- /dev/null
+++ b/dev-util/mercurial/files/mercurial-0.9.5-hide-passwords.diff
@@ -0,0 +1,103 @@
+
+# HG changeset patch
+# User Manuel Holtgrewe <purestorm@ggnore.net>
+# Date 1194290972 -3600
+# Node ID dcbda0c4c3eb8e26e01343d44fc5a8fb41138073
+# Parent 453acf64f71f72158d5ee7e1d99a5e10cea5b3b5
+Do not display passwords with pull/push/incoming/outgoing
+
+Passwords specified in the repository URL are now displayed as '***'
+when accessing the remote repository.
+
+--- a/mercurial/commands.py Fri Nov 09 20:21:35 2007 -0200
++++ b/mercurial/commands.py Mon Nov 05 20:29:32 2007 +0100
+@@ -1652,7 +1652,7 @@ def incoming(ui, repo, source="default",
+ cmdutil.setremoteconfig(ui, opts)
+
+ other = hg.repository(ui, source)
+- ui.status(_('comparing with %s\n') % source)
++ ui.status(_('comparing with %s\n') % util.hidepassword(source))
+ if revs:
+ revs = [other.lookup(rev) for rev in revs]
+ incoming = repo.findincoming(other, heads=revs, force=opts["force"])
+@@ -1962,7 +1962,7 @@ def outgoing(ui, repo, dest=None, **opts
+ revs = [repo.lookup(rev) for rev in revs]
+
+ other = hg.repository(ui, dest)
+- ui.status(_('comparing with %s\n') % dest)
++ ui.status(_('comparing with %s\n') % util.hidepassword(dest))
+ o = repo.findoutgoing(other, force=opts['force'])
+ if not o:
+ ui.status(_("no changes found\n"))
+@@ -2095,7 +2095,7 @@ def pull(ui, repo, source="default", **o
+ cmdutil.setremoteconfig(ui, opts)
+
+ other = hg.repository(ui, source)
+- ui.status(_('pulling from %s\n') % (source))
++ ui.status(_('pulling from %s\n') % util.hidepassword(source))
+ if revs:
+ try:
+ revs = [other.lookup(rev) for rev in revs]
+@@ -2142,7 +2142,7 @@ def push(ui, repo, dest=None, **opts):
+ cmdutil.setremoteconfig(ui, opts)
+
+ other = hg.repository(ui, dest)
+- ui.status('pushing to %s\n' % (dest))
++ ui.status('pushing to %s\n' % util.hidepassword(dest))
+ if revs:
+ revs = [repo.lookup(rev) for rev in revs]
+ r = repo.push(other, opts['force'], revs=revs)
+--- a/mercurial/util.py Fri Nov 09 20:21:35 2007 -0200
++++ b/mercurial/util.py Mon Nov 05 20:29:32 2007 +0100
+@@ -15,6 +15,7 @@ from i18n import _
+ from i18n import _
+ import cStringIO, errno, getpass, popen2, re, shutil, sys, tempfile, strutil
+ import os, stat, threading, time, calendar, ConfigParser, locale, glob, osutil
++import re, urlparse
+
+ try:
+ set = set
+@@ -1698,3 +1699,33 @@ def uirepr(s):
+ def uirepr(s):
+ # Avoid double backslash in Windows path repr()
+ return repr(s).replace('\\\\', '\\')
++
++def hidepassword(url):
++ '''replaces the password in the url string by three asterisks (***)
++
++ >>> hidepassword('http://www.example.com/some/path#fragment')
++ 'http://www.example.com/some/path#fragment'
++ >>> hidepassword('http://me@www.example.com/some/path#fragment')
++ 'http://me@www.example.com/some/path#fragment'
++ >>> hidepassword('http://me:simplepw@www.example.com/path#frag')
++ 'http://me:***@www.example.com/path#frag'
++ >>> hidepassword('http://me:complex:pw@www.example.com/path#frag')
++ 'http://me:***@www.example.com/path#frag'
++ >>> hidepassword('/path/to/repo')
++ '/path/to/repo'
++ >>> hidepassword('relative/path/to/repo')
++ 'relative/path/to/repo'
++ >>> hidepassword('c:\\\\path\\\\to\\\\repo')
++ 'c:\\\\path\\\\to\\\\repo'
++ >>> hidepassword('c:/path/to/repo')
++ 'c:/path/to/repo'
++ >>> hidepassword('bundle://path/to/bundle')
++ 'bundle://path/to/bundle'
++ '''
++ url_parts = list(urlparse.urlparse(url))
++ host_with_pw_pattern = re.compile('^([^:]*):([^@]*)@(.*)$')
++ if host_with_pw_pattern.match(url_parts[1]):
++ url_parts[1] = re.sub(host_with_pw_pattern, r'\1:***@\3',
++ url_parts[1])
++ return urlparse.urlunparse(url_parts)
++
+--- a/tests/test-doctest.py Fri Nov 09 20:21:35 2007 -0200
++++ b/tests/test-doctest.py Mon Nov 05 20:29:32 2007 +0100
+@@ -7,3 +7,6 @@ doctest.testmod(mercurial.changelog)
+
+ import mercurial.httprepo
+ doctest.testmod(mercurial.httprepo)
++
++import mercurial.util
++doctest.testmod(mercurial.util)
+
diff --git a/dev-util/mercurial/mercurial-0.9.5-r1.ebuild b/dev-util/mercurial/mercurial-0.9.5-r1.ebuild
new file mode 100644
index 000000000000..7b5e6f52415f
--- /dev/null
+++ b/dev-util/mercurial/mercurial-0.9.5-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/mercurial/mercurial-0.9.5-r1.ebuild,v 1.1 2007/12/25 19:44:41 nelchael Exp $
+
+inherit bash-completion distutils elisp-common flag-o-matic eutils
+
+DESCRIPTION="Scalable distributed SCM"
+HOMEPAGE="http://www.selenic.com/mercurial/"
+SRC_URI="http://www.selenic.com/mercurial/release/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="bugzilla cvs darcs emacs git gpg subversion test zsh-completion"
+
+CDEPEND=">=dev-lang/python-2.3"
+RDEPEND="${CDEPEND}
+ bugzilla? ( dev-python/mysql-python )
+ cvs? ( dev-util/cvs )
+ darcs? ( || ( dev-python/celementtree dev-python/elementtree ) )
+ git? ( dev-util/git )
+ gpg? ( app-crypt/gnupg )
+ subversion? ( dev-util/subversion )
+ zsh-completion? ( app-shells/zsh )"
+DEPEND="${CDEPEND}
+ emacs? ( virtual/emacs )
+ test? ( app-arch/unzip )"
+
+PYTHON_MODNAME="${PN} hgext"
+SITEFILE="70${PN}-gentoo.el"
+
+src_unpack() {
+ distutils_src_unpack
+ epatch "${FILESDIR}/${P}-hide-passwords.diff"
+}
+
+src_compile() {
+ filter-flags -ftracer -ftree-vectorize
+
+ distutils_src_compile
+
+ if use emacs; then
+ cd "${S}"/contrib
+ elisp-compile mercurial.el || die "elisp-compile failed!"
+ fi
+
+ rm -rf contrib/{win32,macosx}
+}
+
+src_install() {
+ distutils_src_install
+
+ dobashcompletion contrib/bash_completion ${PN}
+
+ if use zsh-completion ; then
+ insinto /usr/share/zsh/site-functions
+ newins contrib/zsh_completion _hg
+ fi
+
+ dodoc CONTRIBUTORS PKG-INFO README *.txt
+ cp hgweb*.cgi "${D}"/usr/share/doc/${PF}/
+ rm -f contrib/bash_completion
+ cp -r contrib "${D}"/usr/share/doc/${PF}/
+ doman doc/*.?
+
+ if use emacs; then
+ elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!"
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+ fi
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ use emacs && elisp-site-regen
+ bash-completion_pkg_postinst
+}
+
+pkg_postrm() {
+ distutils_pkg_postrm
+ use emacs && elisp-site-regen
+}
diff --git a/dev-util/mercurial/metadata.xml b/dev-util/mercurial/metadata.xml
index 7dcc634058a4..c8f8956e637c 100644
--- a/dev-util/mercurial/metadata.xml
+++ b/dev-util/mercurial/metadata.xml
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>no-herd</herd>
-<maintainer>
- <email>aross@gentoo.org</email>
- <name>Andrew Ross</name>
-</maintainer>
+ <herd>no-herd</herd>
+ <maintainer>
+ <email>aross@gentoo.org</email>
+ <name>Andrew Ross</name>
+ </maintainer>
+ <maintainer>
+ <email>nelchael@gentoo.org</email>
+ <name>Krzysiek Pawlik</name>
+ </maintainer>
</pkgmetadata>