Date: Fri, 27 Jun 2014 12:07:41 +0000 (UTC) From: Kubilay Kocak <koobs@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r359507 - in head/devel/mercurial: . files Message-ID: <201406271207.s5RC7fwk043661@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: koobs Date: Fri Jun 27 12:07:41 2014 New Revision: 359507 URL: http://svnweb.freebsd.org/changeset/ports/359507 QAT: https://qat.redports.org/buildarchive/r359507/ Log: devel/mercurial: Add FREEBSD option for authormapsuffix patch Add a patch by lstewart that allows appending a suffix to author names during svn -> hg incremental conversions. Functionality is provided by the "--authormapsuffix" option, and can be used in conjunction with "--authormap". This has been submitted upstream [1][2], but will not be merged into the official distribution, at least in the short term. [1] http://bz.selenic.com/show_bug.cgi?id=4171 [2] http://www.selenic.com/pipermail/mercurial-devel/2014-February/056310.html PR: 191294 Submitted by: gjb, lstewart Added: head/devel/mercurial/files/extra-patch-authormapsuffix (contents, props changed) Modified: head/devel/mercurial/Makefile Modified: head/devel/mercurial/Makefile ============================================================================== --- head/devel/mercurial/Makefile Fri Jun 27 12:05:15 2014 (r359506) +++ head/devel/mercurial/Makefile Fri Jun 27 12:07:41 2014 (r359507) @@ -3,6 +3,7 @@ PORTNAME= mercurial PORTVERSION= 3.0.1 +PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= http://mercurial.selenic.com/release/ @@ -14,10 +15,11 @@ LICENSE= GPLv2 USE_PYTHON= 2 USE_PYDISTUTILS=yes -OPTIONS_DEFINE= CA_BUNDLE DATA DOCS EXAMPLES NLS +OPTIONS_DEFINE= CA_BUNDLE DATA DOCS EXAMPLES NLS FREEBSD OPTIONS_DEFAULT=DATA OPTIONS_SUB= yes CA_BUNDLE_DESC= Install CA Certificates +FREEBSD_DESC= Patches used internally by the FreeBSD Project CONTRIB_FILES= bash_completion \ casesmash.py \ @@ -66,6 +68,10 @@ SUB_FILES= pkg-message EXTRA_PATCHES+= ${FILESDIR}/extra-patch-setup.py .endif +.if ${PORT_OPTIONS:MFREEBSD} +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-authormapsuffix +.endif + post-install: ${INSTALL_MAN} ${WRKSRC}/doc/*.1 ${STAGEDIR}${PREFIX}/man/man1/ ${INSTALL_MAN} ${WRKSRC}/doc/*.5 ${STAGEDIR}${PREFIX}/man/man5/ Added: head/devel/mercurial/files/extra-patch-authormapsuffix ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/mercurial/files/extra-patch-authormapsuffix Fri Jun 27 12:07:41 2014 (r359507) @@ -0,0 +1,166 @@ +--- hgext/convert/__init__.py.orig 2014-06-01 17:15:14.000000000 -0400 ++++ hgext/convert/__init__.py 2014-06-22 16:11:35.609199105 -0400 +@@ -85,6 +85,9 @@ + + Empty lines and lines starting with a ``#`` are ignored. + ++ The authormapsuffix can be used to append set text to each ++ post-authormap-translated author name. ++ + The filemap is a file that allows filtering and remapping of files + and directories. Each line can contain one of the following + directives:: +@@ -314,6 +317,8 @@ + _('import up to source revision REV'), _('REV')), + ('A', 'authormap', '', + _('remap usernames using this file'), _('FILE')), ++ ('', 'authormapsuffix', '', ++ _('append this suffix to remapped author names'), _('SUFFIX')), + ('', 'filemap', '', + _('remap file names using contents of file'), _('FILE')), + ('', 'splicemap', '', +--- hgext/convert/convcmd.py.orig 2014-06-01 17:15:14.000000000 -0400 ++++ hgext/convert/convcmd.py 2014-06-22 16:11:35.610199033 -0400 +@@ -103,12 +103,15 @@ + self.commitcache = {} + self.authors = {} + self.authorfile = None ++ self.authormapsuffix = '' + + # Record converted revisions persistently: maps source revision + # ID to target revision ID (both strings). (This is how + # incremental conversions work.) + self.map = mapfile(ui, revmapfile) + ++ if opts.get('authormapsuffix'): ++ self.authormapsuffix = opts.get('authormapsuffix') + # Read first the dst author map if any + authorfile = self.dest.authorfile() + if authorfile and os.path.exists(authorfile): +@@ -356,7 +359,7 @@ + continue + + srcauthor = srcauthor.strip() +- dstauthor = dstauthor.strip() ++ dstauthor = dstauthor.strip() + self.authormapsuffix + if self.authors.get(srcauthor) in (None, dstauthor): + msg = _('mapping author %s to %s\n') + self.ui.debug(msg % (srcauthor, dstauthor)) +@@ -370,7 +373,8 @@ + + def cachecommit(self, rev): + commit = self.source.getcommit(rev) +- commit.author = self.authors.get(commit.author, commit.author) ++ commit.author = self.authors.get(commit.author, ++ commit.author + self.authormapsuffix) + # If commit.branch is None, this commit is coming from the source + # repository's default branch and destined for the default branch in the + # destination repository. For such commits, passing a literal "None" +--- tests/test-convert-authormap.t.orig 2014-06-01 17:15:14.000000000 -0400 ++++ tests/test-convert-authormap.t 2014-06-22 16:11:35.610199033 -0400 +@@ -10,6 +10,8 @@ + $ cd orig + $ echo foo > foo + $ HGUSER='user name' hg ci -qAm 'foo' ++ $ echo bar > bar ++ $ HGUSER='user name 2' hg ci -qAm 'bar' + $ cd .. + + Explicit --authors +@@ -26,13 +28,19 @@ + scanning source... + sorting... + converting... +- 0 foo ++ 1 foo ++ 0 bar + writing author map file $TESTTMP/new/.hg/authormap (glob) + $ cat new/.hg/authormap + user name=Long User Name + $ hg -Rnew log +- changeset: 0:d89716e88087 ++ changeset: 1:263e7765e4b7 + tag: tip ++ user: user name 2 ++ date: Thu Jan 01 00:00:00 1970 +0000 ++ summary: bar ++ ++ changeset: 0:d89716e88087 + user: Long User Name + date: Thu Jan 01 00:00:00 1970 +0000 + summary: foo +@@ -48,11 +56,72 @@ + scanning source... + sorting... + converting... +- 0 foo ++ 1 foo ++ 0 bar + $ hg -Rnew log +- changeset: 0:d89716e88087 ++ changeset: 1:263e7765e4b7 + tag: tip ++ user: user name 2 ++ date: Thu Jan 01 00:00:00 1970 +0000 ++ summary: bar ++ ++ changeset: 0:d89716e88087 + user: Long User Name + date: Thu Jan 01 00:00:00 1970 +0000 + summary: foo + ++ $ rm -rf new ++ ++Use authormapsuffix together with authormap ++ ++ $ cat > authormap.txt <<EOF ++ > user name = username ++ > user name 2 = username2 ++ > EOF ++ $ hg convert --authormap authormap.txt --authormapsuffix '@test.org' orig new ++ initializing destination new repository ++ scanning source... ++ sorting... ++ converting... ++ 1 foo ++ 0 bar ++ writing author map file $TESTTMP/new/.hg/authormap ++ $ cat new/.hg/authormap ++ user name 2=username2@test.org ++ user name=username@test.org ++ $ hg -Rnew log ++ changeset: 1:aeeaab422b32 ++ tag: tip ++ user: username2@test.org ++ date: Thu Jan 01 00:00:00 1970 +0000 ++ summary: bar ++ ++ changeset: 0:51317d63da9e ++ user: username@test.org ++ date: Thu Jan 01 00:00:00 1970 +0000 ++ summary: foo ++ ++ $ rm -rf new ++ ++Use authormapsuffix stand alone ++ ++ $ hg convert --authormapsuffix '@test.org' orig new ++ initializing destination new repository ++ scanning source... ++ sorting... ++ converting... ++ 1 foo ++ 0 bar ++ $ hg -Rnew log ++ changeset: 1:94e0dcfe3b0d ++ tag: tip ++ user: user name 2@test.org ++ date: Thu Jan 01 00:00:00 1970 +0000 ++ summary: bar ++ ++ changeset: 0:e2ff155c86b8 ++ user: user name@test.org ++ date: Thu Jan 01 00:00:00 1970 +0000 ++ summary: foo ++ ++
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201406271207.s5RC7fwk043661>