From owner-svn-src-user@freebsd.org  Sun Sep 22 10:59:53 2019
Return-Path: <owner-svn-src-user@freebsd.org>
Delivered-To: svn-src-user@mailman.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
 by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5CD6EFDA15
 for <svn-src-user@mailman.nyi.freebsd.org>;
 Sun, 22 Sep 2019 10:59:53 +0000 (UTC) (envelope-from uqs@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org
 [IPv6:2610:1c1:1:606c::19:3])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 server-signature RSA-PSS (4096 bits)
 client-signature RSA-PSS (4096 bits) client-digest SHA256)
 (Client CN "mxrelay.nyi.freebsd.org",
 Issuer "Let's Encrypt Authority X3" (verified OK))
 by mx1.freebsd.org (Postfix) with ESMTPS id 46bkxP2VJpz4fQ8;
 Sun, 22 Sep 2019 10:59:53 +0000 (UTC) (envelope-from uqs@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 34664256F3;
 Sun, 22 Sep 2019 10:59:53 +0000 (UTC) (envelope-from uqs@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x8MAxr6h049668;
 Sun, 22 Sep 2019 10:59:53 GMT (envelope-from uqs@FreeBSD.org)
Received: (from uqs@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id x8MAxpSt049660;
 Sun, 22 Sep 2019 10:59:51 GMT (envelope-from uqs@FreeBSD.org)
Message-Id: <201909221059.x8MAxpSt049660@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: uqs set sender to uqs@FreeBSD.org
 using -f
From: Ulrich Spoerlein <uqs@FreeBSD.org>
Date: Sun, 22 Sep 2019 10:59:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r352593 - in user/uqs/git_conv/svn2git: . .git
 .git/refs/remotes/svn-all-fast-export src
X-SVN-Group: user
X-SVN-Commit-Author: uqs
X-SVN-Commit-Paths: in user/uqs/git_conv/svn2git: . .git
 .git/refs/remotes/svn-all-fast-export src
X-SVN-Commit-Revision: 352593
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 22 Sep 2019 10:59:53 -0000

Author: uqs
Date: Sun Sep 22 10:59:51 2019
New Revision: 352593
URL: https://svnweb.freebsd.org/changeset/base/352593

Log:
  Update our svn2git copy to the latest on github
  
  This brings a flag to extend the wait time for git-fast-import, which we need.

Modified:
  user/uqs/git_conv/svn2git/.git/FETCH_HEAD
  user/uqs/git_conv/svn2git/.git/ORIG_HEAD
  user/uqs/git_conv/svn2git/.git/refs/remotes/svn-all-fast-export/master
  user/uqs/git_conv/svn2git/Makefile
  user/uqs/git_conv/svn2git/README.md
  user/uqs/git_conv/svn2git/fast-export2.pro
  user/uqs/git_conv/svn2git/src/Makefile
  user/uqs/git_conv/svn2git/src/main.cpp
  user/uqs/git_conv/svn2git/src/repository.cpp
  user/uqs/git_conv/svn2git/src/repository.h
  user/uqs/git_conv/svn2git/src/src.pro
  user/uqs/git_conv/svn2git/src/svn.cpp

Modified: user/uqs/git_conv/svn2git/.git/FETCH_HEAD
==============================================================================
--- user/uqs/git_conv/svn2git/.git/FETCH_HEAD	Sun Sep 22 10:40:15 2019	(r352592)
+++ user/uqs/git_conv/svn2git/.git/FETCH_HEAD	Sun Sep 22 10:59:51 2019	(r352593)
@@ -1,2 +1,10 @@
 437beb493db3b1cb532ca5807264cd4403a44157		branch 'master' of https://github.com/svn-all-fast-export/svn2git
 4d494101dc0a6abb918695422d2e2f0cd400d9b7	not-for-merge	branch 'missing-revprops' of https://github.com/svn-all-fast-export/svn2git
+5392048fb1f68fe1cb0681c7b9fef1802dd74d06		branch 'master' of https://github.com/svn-all-fast-export/svn2git
+4d494101dc0a6abb918695422d2e2f0cd400d9b7	not-for-merge	branch 'missing-revprops' of https://github.com/svn-all-fast-export/svn2git
+5caa913b3ac6fea8ea3a92558889a12e7feed21e	not-for-merge	tag '1.0.11' of https://github.com/svn-all-fast-export/svn2git
+83d6f8d2b28e7db5c1ac959df96fc74af363ab92	not-for-merge	tag '1.0.12' of https://github.com/svn-all-fast-export/svn2git
+87a645e2cb2f2f74e4067b2aa71c7d0bd9856cb6	not-for-merge	tag '1.0.13' of https://github.com/svn-all-fast-export/svn2git
+c9e7c4a98e8ba0b8269e5a7b9d3ac68b02d0406e	not-for-merge	tag '1.0.14' of https://github.com/svn-all-fast-export/svn2git
+58378dcd8d758ccac2465547457dc586e2443fab	not-for-merge	tag '1.0.15' of https://github.com/svn-all-fast-export/svn2git
+3d583c89965dd238e5ea4ffad721085bba4542a5	not-for-merge	tag '1.0.16' of https://github.com/svn-all-fast-export/svn2git

Modified: user/uqs/git_conv/svn2git/.git/ORIG_HEAD
==============================================================================
--- user/uqs/git_conv/svn2git/.git/ORIG_HEAD	Sun Sep 22 10:40:15 2019	(r352592)
+++ user/uqs/git_conv/svn2git/.git/ORIG_HEAD	Sun Sep 22 10:59:51 2019	(r352593)
@@ -1 +1 @@
-437beb493db3b1cb532ca5807264cd4403a44157
+e9699437cad516b3b9494443f3132c15b8ef4485

Modified: user/uqs/git_conv/svn2git/.git/refs/remotes/svn-all-fast-export/master
==============================================================================
--- user/uqs/git_conv/svn2git/.git/refs/remotes/svn-all-fast-export/master	Sun Sep 22 10:40:15 2019	(r352592)
+++ user/uqs/git_conv/svn2git/.git/refs/remotes/svn-all-fast-export/master	Sun Sep 22 10:59:51 2019	(r352593)
@@ -1 +1 @@
-437beb493db3b1cb532ca5807264cd4403a44157
+5392048fb1f68fe1cb0681c7b9fef1802dd74d06

Modified: user/uqs/git_conv/svn2git/Makefile
==============================================================================
--- user/uqs/git_conv/svn2git/Makefile	Sun Sep 22 10:40:15 2019	(r352592)
+++ user/uqs/git_conv/svn2git/Makefile	Sun Sep 22 10:59:51 2019	(r352593)
@@ -1,14 +1,17 @@
 #############################################################################
 # Makefile for building: fast-export2
-# Generated by qmake (2.01a) (Qt 4.8.7) on: Thu Jan 12 12:51:50 2017
+# Generated by qmake (3.1) (Qt 5.12.2)
 # Project:  fast-export2.pro
 # Template: subdirs
-# Command: /usr/local/bin/qmake-qt4 -o Makefile fast-export2.pro
+# Command: /usr/local/lib/qt5/bin/qmake -o Makefile fast-export2.pro
 #############################################################################
 
-first: make_default
 MAKEFILE      = Makefile
-QMAKE         = /usr/local/bin/qmake-qt4
+
+EQ            = =
+
+first: make_first
+QMAKE         = /usr/local/lib/qt5/bin/qmake
 DEL_FILE      = rm -f
 CHK_DIR_EXISTS= test -d
 MKDIR         = mkdir -p
@@ -17,112 +20,143 @@ COPY_FILE     = cp -f
 COPY_DIR      = cp -f -R
 INSTALL_FILE  = install -m 644 -p
 INSTALL_PROGRAM = install -m 755 -p
-INSTALL_DIR   = $(COPY_DIR)
+INSTALL_DIR   = cp -f -R
+QINSTALL      = /usr/local/lib/qt5/bin/qmake -install qinstall
+QINSTALL_PROGRAM = /usr/local/lib/qt5/bin/qmake -install qinstall -exe
 DEL_FILE      = rm -f
 SYMLINK       = ln -f -s
 DEL_DIR       = rmdir
 MOVE          = mv -f
-CHK_DIR_EXISTS= test -d
-MKDIR         = mkdir -p
+TAR           = tar -cf
+COMPRESS      = gzip -9f
+DISTNAME      = fast-export21.0.0
+DISTDIR = /data/src/svn2git/.tmp/fast-export21.0.0
 SUBTARGETS    =  \
 		sub-src
 
-src/$(MAKEFILE): 
-	@$(CHK_DIR_EXISTS) src/ || $(MKDIR) src/ 
-	cd src/ && $(QMAKE) /data/src/git_conv/svn2git/src/src.pro -o $(MAKEFILE)
+
 sub-src-qmake_all:  FORCE
-	@$(CHK_DIR_EXISTS) src/ || $(MKDIR) src/ 
-	cd src/ && $(QMAKE) /data/src/git_conv/svn2git/src/src.pro -o $(MAKEFILE)
-sub-src: src/$(MAKEFILE) FORCE
-	cd src/ && $(MAKE) -f $(MAKEFILE)
-sub-src-make_default: src/$(MAKEFILE) FORCE
-	cd src/ && $(MAKE) -f $(MAKEFILE) 
-sub-src-make_first: src/$(MAKEFILE) FORCE
-	cd src/ && $(MAKE) -f $(MAKEFILE) first
-sub-src-all: src/$(MAKEFILE) FORCE
-	cd src/ && $(MAKE) -f $(MAKEFILE) all
-sub-src-clean: src/$(MAKEFILE) FORCE
-	cd src/ && $(MAKE) -f $(MAKEFILE) clean
-sub-src-distclean: src/$(MAKEFILE) FORCE
-	cd src/ && $(MAKE) -f $(MAKEFILE) distclean
-sub-src-install_subtargets: src/$(MAKEFILE) FORCE
-	cd src/ && $(MAKE) -f $(MAKEFILE) install
-sub-src-uninstall_subtargets: src/$(MAKEFILE) FORCE
-	cd src/ && $(MAKE) -f $(MAKEFILE) uninstall
+	@test -d src/ || mkdir -p src/
+	cd src/ && $(QMAKE) -o Makefile /data/src/svn2git/src/src.pro
+	cd src/ && $(MAKE) -f Makefile qmake_all
+sub-src: FORCE
+	@test -d src/ || mkdir -p src/
+	cd src/ && ( test -e Makefile || $(QMAKE) -o Makefile /data/src/svn2git/src/src.pro ) && $(MAKE) -f Makefile
+sub-src-make_first: FORCE
+	@test -d src/ || mkdir -p src/
+	cd src/ && ( test -e Makefile || $(QMAKE) -o Makefile /data/src/svn2git/src/src.pro ) && $(MAKE) -f Makefile 
+sub-src-all: FORCE
+	@test -d src/ || mkdir -p src/
+	cd src/ && ( test -e Makefile || $(QMAKE) -o Makefile /data/src/svn2git/src/src.pro ) && $(MAKE) -f Makefile all
+sub-src-clean: FORCE
+	@test -d src/ || mkdir -p src/
+	cd src/ && ( test -e Makefile || $(QMAKE) -o Makefile /data/src/svn2git/src/src.pro ) && $(MAKE) -f Makefile clean
+sub-src-distclean: FORCE
+	@test -d src/ || mkdir -p src/
+	cd src/ && ( test -e Makefile || $(QMAKE) -o Makefile /data/src/svn2git/src/src.pro ) && $(MAKE) -f Makefile distclean
+sub-src-install_subtargets: FORCE
+	@test -d src/ || mkdir -p src/
+	cd src/ && ( test -e Makefile || $(QMAKE) -o Makefile /data/src/svn2git/src/src.pro ) && $(MAKE) -f Makefile install
+sub-src-uninstall_subtargets: FORCE
+	@test -d src/ || mkdir -p src/
+	cd src/ && ( test -e Makefile || $(QMAKE) -o Makefile /data/src/svn2git/src/src.pro ) && $(MAKE) -f Makefile uninstall
 
-Makefile: fast-export2.pro  /usr/local/share/qt4/mkspecs/freebsd-clang/qmake.conf /usr/local/share/qt4/mkspecs/common/unix.conf \
-		/usr/local/share/qt4/mkspecs/common/freebsd.conf \
-		/usr/local/share/qt4/mkspecs/common/gcc-base.conf \
-		/usr/local/share/qt4/mkspecs/common/gcc-base-unix.conf \
-		/usr/local/share/qt4/mkspecs/common/clang.conf \
-		/usr/local/share/qt4/mkspecs/common/clang-unix.conf \
-		/usr/local/share/qt4/mkspecs/qconfig.pri \
-		/usr/local/share/qt4/mkspecs/features/qt_functions.prf \
-		/usr/local/share/qt4/mkspecs/features/qt_config.prf \
-		/usr/local/share/qt4/mkspecs/features/exclusive_builds.prf \
-		/usr/local/share/qt4/mkspecs/features/default_pre.prf \
-		/usr/local/share/qt4/mkspecs/features/release.prf \
-		/usr/local/share/qt4/mkspecs/features/default_post.prf \
-		/usr/local/share/qt4/mkspecs/features/shared.prf \
-		/usr/local/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
-		/usr/local/share/qt4/mkspecs/features/warn_on.prf \
-		/usr/local/share/qt4/mkspecs/features/qt.prf \
-		/usr/local/share/qt4/mkspecs/features/unix/thread.prf \
-		/usr/local/share/qt4/mkspecs/features/moc.prf \
-		/usr/local/share/qt4/mkspecs/features/resources.prf \
-		/usr/local/share/qt4/mkspecs/features/uic.prf \
-		/usr/local/share/qt4/mkspecs/features/yacc.prf \
-		/usr/local/share/qt4/mkspecs/features/lex.prf \
-		/usr/local/share/qt4/mkspecs/features/include_source_dir.prf
+Makefile: fast-export2.pro /usr/local/lib/qt5/mkspecs/freebsd-clang/qmake.conf /usr/local/lib/qt5/mkspecs/features/spec_pre.prf \
+		/usr/local/lib/qt5/mkspecs/common/unix.conf \
+		/usr/local/lib/qt5/mkspecs/common/bsd/bsd.conf \
+		/usr/local/lib/qt5/mkspecs/common/sanitize.conf \
+		/usr/local/lib/qt5/mkspecs/common/gcc-base.conf \
+		/usr/local/lib/qt5/mkspecs/common/gcc-base-unix.conf \
+		/usr/local/lib/qt5/mkspecs/common/clang.conf \
+		/usr/local/lib/qt5/mkspecs/qconfig.pri \
+		/usr/local/lib/qt5/mkspecs/modules/qt_config_core.pri \
+		/usr/local/lib/qt5/mkspecs/modules/qt_lib_core.pri \
+		/usr/local/lib/qt5/mkspecs/modules/qt_lib_core_private.pri \
+		/usr/local/lib/qt5/mkspecs/features/qt_functions.prf \
+		/usr/local/lib/qt5/mkspecs/features/qt_config.prf \
+		/usr/local/lib/qt5/mkspecs/freebsd-clang/qmake.conf \
+		/usr/local/lib/qt5/mkspecs/features/spec_post.prf \
+		.qmake.stash \
+		/usr/local/lib/qt5/mkspecs/features/exclusive_builds.prf \
+		/usr/local/lib/qt5/mkspecs/features/toolchain.prf \
+		/usr/local/lib/qt5/mkspecs/features/default_pre.prf \
+		/usr/local/lib/qt5/mkspecs/features/resolve_config.prf \
+		/usr/local/lib/qt5/mkspecs/features/default_post.prf \
+		/usr/local/lib/qt5/mkspecs/features/warn_on.prf \
+		/usr/local/lib/qt5/mkspecs/features/qmake_use.prf \
+		/usr/local/lib/qt5/mkspecs/features/file_copies.prf \
+		/usr/local/lib/qt5/mkspecs/features/testcase_targets.prf \
+		/usr/local/lib/qt5/mkspecs/features/exceptions.prf \
+		/usr/local/lib/qt5/mkspecs/features/yacc.prf \
+		/usr/local/lib/qt5/mkspecs/features/lex.prf \
+		fast-export2.pro
 	$(QMAKE) -o Makefile fast-export2.pro
-/usr/local/share/qt4/mkspecs/common/unix.conf:
-/usr/local/share/qt4/mkspecs/common/freebsd.conf:
-/usr/local/share/qt4/mkspecs/common/gcc-base.conf:
-/usr/local/share/qt4/mkspecs/common/gcc-base-unix.conf:
-/usr/local/share/qt4/mkspecs/common/clang.conf:
-/usr/local/share/qt4/mkspecs/common/clang-unix.conf:
-/usr/local/share/qt4/mkspecs/qconfig.pri:
-/usr/local/share/qt4/mkspecs/features/qt_functions.prf:
-/usr/local/share/qt4/mkspecs/features/qt_config.prf:
-/usr/local/share/qt4/mkspecs/features/exclusive_builds.prf:
-/usr/local/share/qt4/mkspecs/features/default_pre.prf:
-/usr/local/share/qt4/mkspecs/features/release.prf:
-/usr/local/share/qt4/mkspecs/features/default_post.prf:
-/usr/local/share/qt4/mkspecs/features/shared.prf:
-/usr/local/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
-/usr/local/share/qt4/mkspecs/features/warn_on.prf:
-/usr/local/share/qt4/mkspecs/features/qt.prf:
-/usr/local/share/qt4/mkspecs/features/unix/thread.prf:
-/usr/local/share/qt4/mkspecs/features/moc.prf:
-/usr/local/share/qt4/mkspecs/features/resources.prf:
-/usr/local/share/qt4/mkspecs/features/uic.prf:
-/usr/local/share/qt4/mkspecs/features/yacc.prf:
-/usr/local/share/qt4/mkspecs/features/lex.prf:
-/usr/local/share/qt4/mkspecs/features/include_source_dir.prf:
-qmake: qmake_all FORCE
+/usr/local/lib/qt5/mkspecs/features/spec_pre.prf:
+/usr/local/lib/qt5/mkspecs/common/unix.conf:
+/usr/local/lib/qt5/mkspecs/common/bsd/bsd.conf:
+/usr/local/lib/qt5/mkspecs/common/sanitize.conf:
+/usr/local/lib/qt5/mkspecs/common/gcc-base.conf:
+/usr/local/lib/qt5/mkspecs/common/gcc-base-unix.conf:
+/usr/local/lib/qt5/mkspecs/common/clang.conf:
+/usr/local/lib/qt5/mkspecs/qconfig.pri:
+/usr/local/lib/qt5/mkspecs/modules/qt_config_core.pri:
+/usr/local/lib/qt5/mkspecs/modules/qt_lib_core.pri:
+/usr/local/lib/qt5/mkspecs/modules/qt_lib_core_private.pri:
+/usr/local/lib/qt5/mkspecs/features/qt_functions.prf:
+/usr/local/lib/qt5/mkspecs/features/qt_config.prf:
+/usr/local/lib/qt5/mkspecs/freebsd-clang/qmake.conf:
+/usr/local/lib/qt5/mkspecs/features/spec_post.prf:
+.qmake.stash:
+/usr/local/lib/qt5/mkspecs/features/exclusive_builds.prf:
+/usr/local/lib/qt5/mkspecs/features/toolchain.prf:
+/usr/local/lib/qt5/mkspecs/features/default_pre.prf:
+/usr/local/lib/qt5/mkspecs/features/resolve_config.prf:
+/usr/local/lib/qt5/mkspecs/features/default_post.prf:
+/usr/local/lib/qt5/mkspecs/features/warn_on.prf:
+/usr/local/lib/qt5/mkspecs/features/qmake_use.prf:
+/usr/local/lib/qt5/mkspecs/features/file_copies.prf:
+/usr/local/lib/qt5/mkspecs/features/testcase_targets.prf:
+/usr/local/lib/qt5/mkspecs/features/exceptions.prf:
+/usr/local/lib/qt5/mkspecs/features/yacc.prf:
+/usr/local/lib/qt5/mkspecs/features/lex.prf:
+fast-export2.pro:
+qmake: FORCE
 	@$(QMAKE) -o Makefile fast-export2.pro
 
 qmake_all: sub-src-qmake_all FORCE
 
-make_default: sub-src-make_default FORCE
-make_first: sub-src-make_first FORCE
-all: sub-src-all FORCE
-clean: sub-src-clean FORCE
-distclean: sub-src-distclean FORCE
+make_first: sub-src-make_first  FORCE
+all: sub-src-all  FORCE
+clean: sub-src-clean  FORCE
+distclean: sub-src-distclean  FORCE
 	-$(DEL_FILE) Makefile
+	-$(DEL_FILE) .qmake.stash
 install_subtargets: sub-src-install_subtargets FORCE
 uninstall_subtargets: sub-src-uninstall_subtargets FORCE
 
-sub-src-check: src/$(MAKEFILE)
-	cd src/ && $(MAKE) -f $(MAKEFILE) check
+sub-src-check:
+	@test -d src/ || mkdir -p src/
+	cd src/ && ( test -e Makefile || $(QMAKE) -o Makefile /data/src/svn2git/src/src.pro ) && $(MAKE) -f Makefile check
 check: sub-src-check
 
-mocclean: compiler_moc_header_clean compiler_moc_source_clean
+sub-src-benchmark:
+	@test -d src/ || mkdir -p src/
+	cd src/ && ( test -e Makefile || $(QMAKE) -o Makefile /data/src/svn2git/src/src.pro ) && $(MAKE) -f Makefile benchmark
+benchmark: sub-src-benchmark
+install:install_subtargets  FORCE
 
-mocables: compiler_moc_header_make_all compiler_moc_source_make_all
-install: install_subtargets  FORCE
+uninstall: uninstall_subtargets FORCE
 
-uninstall:  uninstall_subtargets FORCE
-
 FORCE:
+
+dist: distdir FORCE
+	(cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: sub-src-distdir FORCE
+	@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+	$(COPY_FILE) --parents /usr/local/lib/qt5/mkspecs/features/spec_pre.prf /usr/local/lib/qt5/mkspecs/common/unix.conf /usr/local/lib/qt5/mkspecs/common/bsd/bsd.conf /usr/local/lib/qt5/mkspecs/common/sanitize.conf /usr/local/lib/qt5/mkspecs/common/gcc-base.conf /usr/local/lib/qt5/mkspecs/common/gcc-base-unix.conf /usr/local/lib/qt5/mkspecs/common/clang.conf /usr/local/lib/qt5/mkspecs/qconfig.pri /usr/local/lib/qt5/mkspecs/modules/qt_config_core.pri /usr/local/lib/qt5/mkspecs/modules/qt_lib_core.pri /usr/local/lib/qt5/mkspecs/modules/qt_lib_core_private.pri /usr/local/lib/qt5/mkspecs/features/qt_functions.prf /usr/local/lib/qt5/mkspecs/features/qt_config.prf /usr/local/lib/qt5/mkspecs/freebsd-clang/qmake.conf /usr/local/lib/qt5/mkspecs/features/spec_post.prf .qmake.stash /usr/local/lib/qt5/mkspecs/features/exclusive_builds.prf /usr/local/lib/qt5/mkspecs/features/toolchain.prf /usr/local/lib/qt5/mkspecs/features/default_pre.prf /usr/local/lib/qt5/mkspecs/features/resolve_config.prf /usr
 /local/lib/qt5/mkspecs/features/default_post.prf /usr/local/lib/qt5/mkspecs/features/warn_on.prf /usr/local/lib/qt5/mkspecs/features/qmake_use.prf /usr/local/lib/qt5/mkspecs/features/file_copies.prf /usr/local/lib/qt5/mkspecs/features/testcase_targets.prf /usr/local/lib/qt5/mkspecs/features/exceptions.prf /usr/local/lib/qt5/mkspecs/features/yacc.prf /usr/local/lib/qt5/mkspecs/features/lex.prf fast-export2.pro $(DISTDIR)/
+
+sub-src-distdir: FORCE
+	@test -d src/ || mkdir -p src/
+	cd src/ && ( test -e Makefile || $(QMAKE) -o Makefile /data/src/svn2git/src/src.pro ) && $(MAKE) -e -f Makefile distdir DISTDIR=$(DISTDIR)/src
 

Modified: user/uqs/git_conv/svn2git/README.md
==============================================================================
--- user/uqs/git_conv/svn2git/README.md	Sun Sep 22 10:40:15 2019	(r352592)
+++ user/uqs/git_conv/svn2git/README.md	Sun Sep 22 10:59:51 2019	(r352593)
@@ -16,11 +16,23 @@ If you have a proper ruleset the tool will create the 
 
 After it is done you likely want to run `git repack -a -d -f` to compress the pack file as it can get quite big.
 
+Running as Docker image
+-----------------------
+Just mount your SVN folder, plus another working directory where Git repository will be created.
+Sample usage with input mounted in /tmp and output produced in /workdir:
+```
+docker build -t svn2git .
+docker run --rm -it -v `pwd`/workdir:/workdir -v /var/lib/svn/project1:/tmp/svn -v `pwd`/conf:/tmp/conf svn2git /usr/local/svn2git/svn-all-fast-export --identity-map /tmp/conf/project1.authors --rules /tmp/conf/project1.rules --add-metadata --svn-branches --debug-rules --svn-ignore --empty-dirs /tmp/svn/ 
+```
+
 Building the tool
 -----------------
 Run `qmake && make`.  You get `./svn-all-fast-export`.
 (Do a checkout of the repo .git' and run qmake and make. You can only build it after having installed libsvn-dev, and naturally Qt. Running the command will give you all the options you can pass to the tool.)
 
+You will need to have some packages to compile it. For Ubuntu distros, use this command to install them all:
+`sudo apt-get install build-essential subversion git qtchooser qt5-default libapr1 libapr1-dev libsvn-dev`
+
 KDE
 ---
 there is a repository kde-ruleset which has several example files and one file that should become the final ruleset for the whole of KDE called 'kde-rules-main'.
@@ -29,6 +41,57 @@ Write the Rules
 ---------------
 You need to write a rules file that describes how to slice the Subversion history into Git repositories and branches. See https://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git.
 The rules are also documented in the 'samples' directory of the svn2git repository. Feel free to add more documentation here as well.
+
+Rules
+-----
+### `create respository`
+
+```
+create repository REPOSITORY NAME
+  [PARAMETERS...]
+end repository
+```
+
+`PARAMETERS` is any number of:
+
+- `repository TARGET REPOSITORY` Creates a forwarding repository , which allows for redirecting to another repository, typically with some `prefix`.
+- `prefix PREFIX` prefixes each file with `PREFIX`, allowing for merging repositories.
+- `description DESCRIPTION TEXT` writes a `DESCRIPTION TEXT` to the `description` file in the repository
+
+### `match`
+
+```
+match REGEX
+  [PARAMETERS...]
+end match
+```
+
+Creates a rule that matches paths by `REGEX` and applies some `PARAMETERS` to them. Matching groups can be created, and the values used in the parameters.
+
+`PARAMETERS` is any number of:
+
+- `repository TARGET REPOSITORY` determines the repository
+- `branch BRANCH NAME` determines which branch this path will be placed in. Can also be used to make lightweight tags with `refs/tags/TAG NAME` although note that tags in SVN are not always a single commit, and will not be created correctly unless they are a single copy from somewhere else, with no further changes. See also `annotate true` to make them annotated tags.
+- `[min|max] revision REVISION NUMBER` only match if revision is above/below the specified revision number
+- `prefix PREFIX` prefixes each file with `PREFIX`, allowing for merging repositories. Same as when used in a `create repository` stanza.
+  - Note that this will create a separate commit for each prefix matched, even if they were in the same SVN revision.
+- `substitute [repository|branch] s/PATTERN/REPLACEMENT/` performs a regex substitution on the repository or branch name. Useful when eliminating characters not supported in git branch names.
+- `action ACTION` determines the action to take, from the below three:
+
+  - `export` I have no idea what this does
+  - `ignore` ignores this path
+  - `recurse` tells svn2git to ignore this path and continue searching it's children.
+
+- `annotate true` creates annotated tags instead of lightweight tags
+
+### `include FILENAME`
+
+Include the contents of another rules file
+
+### `declare VAR=VALUE`
+
+Define variables that can be referenced later. `${VAR}` in any line will be replaced by `VALUE`.
+
 
 Work flow
 ---------

Modified: user/uqs/git_conv/svn2git/fast-export2.pro
==============================================================================
--- user/uqs/git_conv/svn2git/fast-export2.pro	Sun Sep 22 10:40:15 2019	(r352592)
+++ user/uqs/git_conv/svn2git/fast-export2.pro	Sun Sep 22 10:59:51 2019	(r352593)
@@ -1,7 +1,3 @@
-######################################################################
-# Automatically generated by qmake (2.01a) dim. dec. 23 13:48:52 2007
-######################################################################
-
 TEMPLATE = subdirs
 
 # Directories

Modified: user/uqs/git_conv/svn2git/src/Makefile
==============================================================================
--- user/uqs/git_conv/svn2git/src/Makefile	Sun Sep 22 10:40:15 2019	(r352592)
+++ user/uqs/git_conv/svn2git/src/Makefile	Sun Sep 22 10:59:51 2019	(r352593)
@@ -1,41 +1,50 @@
 #############################################################################
 # Makefile for building: ../svn-all-fast-export
-# Generated by qmake (2.01a) (Qt 4.8.7) on: Tue Jan 10 11:40:19 2017
+# Generated by qmake (3.1) (Qt 5.12.2)
 # Project:  src.pro
 # Template: app
-# Command: /usr/local/bin/qmake-qt4 -o Makefile src.pro
+# Command: /usr/local/lib/qt5/bin/qmake -o Makefile src.pro
 #############################################################################
 
+MAKEFILE      = Makefile
+
+EQ            = =
+
 ####### Compiler, tools and options
 
 CC            = clang
 CXX           = clang++
-DEFINES       = -DVER="\"437beb493db3b1cb532ca5807264cd4403a44157\"" -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED
-CFLAGS        = -pipe -O2 -Wall -W -pthread -D_THREAD_SAFE $(DEFINES)
-CXXFLAGS      = -pipe -O2 -Wall -W -pthread -D_THREAD_SAFE $(DEFINES)
-INCPATH       = -I/usr/local/share/qt4/mkspecs/freebsd-clang -I. -I/usr/local/include/qt4/QtCore -I/usr/local/include/qt4 -I. -I/usr/include/subversion-1 -I/usr/local/include/subversion-1 -I/usr/include/apr-1.0 -I/usr/include/apr-1 -I/usr/local/include/apr-1 -I. -I/usr/local/include/qt4 -I/usr/local/include
-LINK          = clang++
-LFLAGS        = -Wl,-O1 -pthread -Wl,-rpath,/usr/local/lib/qt4
-LIBS          = $(SUBLIBS)  -L/usr/local/lib/qt4 -L/usr/local/lib -lsvn_fs-1 -lsvn_repos-1 -lapr-1 -lsvn_subr-1 -lQtCore -L/usr/local/lib/qt4 -L/usr/local/lib 
-AR            = ar cqs
-RANLIB        = 
-QMAKE         = /usr/local/bin/qmake-qt4
-TAR           = tar -cf
-COMPRESS      = gzip -9f
+DEFINES       = -DVER="\"e9699437cad516b3b9494443f3132c15b8ef4485\"" -DQT_NO_DEBUG -DQT_CORE_LIB
+CFLAGS        = -pipe -O2 -Wall -W -pthread -fPIC $(DEFINES)
+CXXFLAGS      = -pipe -O2 -Wall -W -pthread -fPIC $(DEFINES)
+INCPATH       = -I. -I. -isystem /usr/include/subversion-1 -I/usr/local/include/subversion-1 -isystem /usr/include/apr-1.0 -isystem /usr/include/apr-1 -I/usr/local/include/apr-1 -I/usr/local/include/qt5 -I/usr/local/include/qt5/QtCore -I. -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang
+QMAKE         = /usr/local/lib/qt5/bin/qmake
+DEL_FILE      = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR         = mkdir -p
 COPY          = cp -f
-SED           = sed
 COPY_FILE     = cp -f
 COPY_DIR      = cp -f -R
-STRIP         = strip
 INSTALL_FILE  = install -m 644 -p
-INSTALL_DIR   = $(COPY_DIR)
 INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR   = cp -f -R
+QINSTALL      = /usr/local/lib/qt5/bin/qmake -install qinstall
+QINSTALL_PROGRAM = /usr/local/lib/qt5/bin/qmake -install qinstall -exe
 DEL_FILE      = rm -f
 SYMLINK       = ln -f -s
 DEL_DIR       = rmdir
 MOVE          = mv -f
-CHK_DIR_EXISTS= test -d
-MKDIR         = mkdir -p
+TAR           = tar -cf
+COMPRESS      = gzip -9f
+DISTNAME      = svn-all-fast-exporte9699437cad516b3b9494443f3132c15b8ef4485
+DISTDIR = /data/src/git_conv/svn2git/src/.tmp/svn-all-fast-exporte9699437cad516b3b9494443f3132c15b8ef4485
+LINK          = clang++
+LFLAGS        = -pthread -Wl,-rpath,/usr/local/lib/qt5
+LIBS          = $(SUBLIBS) -lsvn_fs-1 -lsvn_repos-1 -lapr-1 -lsvn_subr-1 -L/usr/local/lib/qt5 -lQt5Core -lkvm -lprocstat -L/usr/local/lib  -L/usr/local/lib 
+AR            = ar cqs
+RANLIB        = 
+SED           = sed
+STRIP         = strip
 
 ####### Output directory
 
@@ -53,190 +62,656 @@ OBJECTS       = ruleparser.o \
 		svn.o \
 		main.o \
 		CommandLineParser.o
-DIST          = /usr/local/share/qt4/mkspecs/common/unix.conf \
-		/usr/local/share/qt4/mkspecs/common/freebsd.conf \
-		/usr/local/share/qt4/mkspecs/common/gcc-base.conf \
-		/usr/local/share/qt4/mkspecs/common/gcc-base-unix.conf \
-		/usr/local/share/qt4/mkspecs/common/clang.conf \
-		/usr/local/share/qt4/mkspecs/common/clang-unix.conf \
-		/usr/local/share/qt4/mkspecs/qconfig.pri \
-		/usr/local/share/qt4/mkspecs/features/qt_functions.prf \
-		/usr/local/share/qt4/mkspecs/features/qt_config.prf \
-		/usr/local/share/qt4/mkspecs/features/exclusive_builds.prf \
-		/usr/local/share/qt4/mkspecs/features/default_pre.prf \
-		/usr/local/share/qt4/mkspecs/features/release.prf \
-		/usr/local/share/qt4/mkspecs/features/default_post.prf \
-		/usr/local/share/qt4/mkspecs/features/shared.prf \
-		/usr/local/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
-		/usr/local/share/qt4/mkspecs/features/warn_on.prf \
-		/usr/local/share/qt4/mkspecs/features/qt.prf \
-		/usr/local/share/qt4/mkspecs/features/unix/thread.prf \
-		/usr/local/share/qt4/mkspecs/features/moc.prf \
-		/usr/local/share/qt4/mkspecs/features/resources.prf \
-		/usr/local/share/qt4/mkspecs/features/uic.prf \
-		/usr/local/share/qt4/mkspecs/features/yacc.prf \
-		/usr/local/share/qt4/mkspecs/features/lex.prf \
-		/usr/local/share/qt4/mkspecs/features/include_source_dir.prf \
-		src.pro
+DIST          = /usr/local/lib/qt5/mkspecs/features/spec_pre.prf \
+		/usr/local/lib/qt5/mkspecs/common/unix.conf \
+		/usr/local/lib/qt5/mkspecs/common/bsd/bsd.conf \
+		/usr/local/lib/qt5/mkspecs/common/sanitize.conf \
+		/usr/local/lib/qt5/mkspecs/common/gcc-base.conf \
+		/usr/local/lib/qt5/mkspecs/common/gcc-base-unix.conf \
+		/usr/local/lib/qt5/mkspecs/common/clang.conf \
+		/usr/local/lib/qt5/mkspecs/qconfig.pri \
+		/usr/local/lib/qt5/mkspecs/modules/qt_config_core.pri \
+		/usr/local/lib/qt5/mkspecs/modules/qt_lib_core.pri \
+		/usr/local/lib/qt5/mkspecs/modules/qt_lib_core_private.pri \
+		/usr/local/lib/qt5/mkspecs/features/qt_functions.prf \
+		/usr/local/lib/qt5/mkspecs/features/qt_config.prf \
+		/usr/local/lib/qt5/mkspecs/freebsd-clang/qmake.conf \
+		/usr/local/lib/qt5/mkspecs/features/spec_post.prf \
+		/usr/local/lib/qt5/mkspecs/features/exclusive_builds.prf \
+		/usr/local/lib/qt5/mkspecs/features/toolchain.prf \
+		/usr/local/lib/qt5/mkspecs/features/default_pre.prf \
+		/usr/local/lib/qt5/mkspecs/features/resolve_config.prf \
+		/usr/local/lib/qt5/mkspecs/features/default_post.prf \
+		/usr/local/lib/qt5/mkspecs/features/warn_on.prf \
+		/usr/local/lib/qt5/mkspecs/features/qt.prf \
+		/usr/local/lib/qt5/mkspecs/features/resources.prf \
+		/usr/local/lib/qt5/mkspecs/features/moc.prf \
+		/usr/local/lib/qt5/mkspecs/features/unix/thread.prf \
+		/usr/local/lib/qt5/mkspecs/features/qmake_use.prf \
+		/usr/local/lib/qt5/mkspecs/features/file_copies.prf \
+		/usr/local/lib/qt5/mkspecs/features/testcase_targets.prf \
+		/usr/local/lib/qt5/mkspecs/features/exceptions.prf \
+		/usr/local/lib/qt5/mkspecs/features/yacc.prf \
+		/usr/local/lib/qt5/mkspecs/features/lex.prf \
+		src.pro ruleparser.h \
+		repository.h \
+		svn.h \
+		CommandLineParser.h ruleparser.cpp \
+		repository.cpp \
+		svn.cpp \
+		main.cpp \
+		CommandLineParser.cpp
 QMAKE_TARGET  = svn-all-fast-export
 DESTDIR       = ../
 TARGET        = ../svn-all-fast-export
 
-first: all
-####### Implicit rules
 
-.SUFFIXES: .o .c .cpp .cc .cxx .C
-
-.cpp.o:
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.cc.o:
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.cxx.o:
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.C.o:
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.c.o:
-	$(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
-
+first: all
 ####### Build rules
 
-all: Makefile $(TARGET)
-
-$(TARGET):  $(OBJECTS)  
-	@$(CHK_DIR_EXISTS) ../ || $(MKDIR) ../ 
+../svn-all-fast-export:  $(OBJECTS)  
+	@test -d ../ || mkdir -p ../
 	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
 
-Makefile: src.pro  /usr/local/share/qt4/mkspecs/freebsd-clang/qmake.conf /usr/local/share/qt4/mkspecs/common/unix.conf \
-		/usr/local/share/qt4/mkspecs/common/freebsd.conf \
-		/usr/local/share/qt4/mkspecs/common/gcc-base.conf \
-		/usr/local/share/qt4/mkspecs/common/gcc-base-unix.conf \
-		/usr/local/share/qt4/mkspecs/common/clang.conf \
-		/usr/local/share/qt4/mkspecs/common/clang-unix.conf \
-		/usr/local/share/qt4/mkspecs/qconfig.pri \
-		/usr/local/share/qt4/mkspecs/features/qt_functions.prf \
-		/usr/local/share/qt4/mkspecs/features/qt_config.prf \
-		/usr/local/share/qt4/mkspecs/features/exclusive_builds.prf \
-		/usr/local/share/qt4/mkspecs/features/default_pre.prf \
-		/usr/local/share/qt4/mkspecs/features/release.prf \
-		/usr/local/share/qt4/mkspecs/features/default_post.prf \
-		/usr/local/share/qt4/mkspecs/features/shared.prf \
-		/usr/local/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
-		/usr/local/share/qt4/mkspecs/features/warn_on.prf \
-		/usr/local/share/qt4/mkspecs/features/qt.prf \
-		/usr/local/share/qt4/mkspecs/features/unix/thread.prf \
-		/usr/local/share/qt4/mkspecs/features/moc.prf \
-		/usr/local/share/qt4/mkspecs/features/resources.prf \
-		/usr/local/share/qt4/mkspecs/features/uic.prf \
-		/usr/local/share/qt4/mkspecs/features/yacc.prf \
-		/usr/local/share/qt4/mkspecs/features/lex.prf \
-		/usr/local/share/qt4/mkspecs/features/include_source_dir.prf \
-		/usr/local/lib/qt4/libQtCore.prl
+Makefile: src.pro /usr/local/lib/qt5/mkspecs/freebsd-clang/qmake.conf /usr/local/lib/qt5/mkspecs/features/spec_pre.prf \
+		/usr/local/lib/qt5/mkspecs/common/unix.conf \
+		/usr/local/lib/qt5/mkspecs/common/bsd/bsd.conf \
+		/usr/local/lib/qt5/mkspecs/common/sanitize.conf \
+		/usr/local/lib/qt5/mkspecs/common/gcc-base.conf \
+		/usr/local/lib/qt5/mkspecs/common/gcc-base-unix.conf \
+		/usr/local/lib/qt5/mkspecs/common/clang.conf \
+		/usr/local/lib/qt5/mkspecs/qconfig.pri \
+		/usr/local/lib/qt5/mkspecs/modules/qt_config_core.pri \
+		/usr/local/lib/qt5/mkspecs/modules/qt_lib_core.pri \
+		/usr/local/lib/qt5/mkspecs/modules/qt_lib_core_private.pri \
+		/usr/local/lib/qt5/mkspecs/features/qt_functions.prf \
+		/usr/local/lib/qt5/mkspecs/features/qt_config.prf \
+		/usr/local/lib/qt5/mkspecs/freebsd-clang/qmake.conf \
+		/usr/local/lib/qt5/mkspecs/features/spec_post.prf \
+		/usr/local/lib/qt5/mkspecs/features/exclusive_builds.prf \
+		/usr/local/lib/qt5/mkspecs/features/toolchain.prf \
+		/usr/local/lib/qt5/mkspecs/features/default_pre.prf \
+		/usr/local/lib/qt5/mkspecs/features/resolve_config.prf \
+		/usr/local/lib/qt5/mkspecs/features/default_post.prf \
+		/usr/local/lib/qt5/mkspecs/features/warn_on.prf \
+		/usr/local/lib/qt5/mkspecs/features/qt.prf \
+		/usr/local/lib/qt5/mkspecs/features/resources.prf \
+		/usr/local/lib/qt5/mkspecs/features/moc.prf \
+		/usr/local/lib/qt5/mkspecs/features/unix/thread.prf \
+		/usr/local/lib/qt5/mkspecs/features/qmake_use.prf \
+		/usr/local/lib/qt5/mkspecs/features/file_copies.prf \
+		/usr/local/lib/qt5/mkspecs/features/testcase_targets.prf \
+		/usr/local/lib/qt5/mkspecs/features/exceptions.prf \
+		/usr/local/lib/qt5/mkspecs/features/yacc.prf \
+		/usr/local/lib/qt5/mkspecs/features/lex.prf \
+		src.pro \
+		/usr/local/lib/qt5/libQt5Core.prl
 	$(QMAKE) -o Makefile src.pro
-/usr/local/share/qt4/mkspecs/common/unix.conf:
-/usr/local/share/qt4/mkspecs/common/freebsd.conf:
-/usr/local/share/qt4/mkspecs/common/gcc-base.conf:
-/usr/local/share/qt4/mkspecs/common/gcc-base-unix.conf:
-/usr/local/share/qt4/mkspecs/common/clang.conf:
-/usr/local/share/qt4/mkspecs/common/clang-unix.conf:
-/usr/local/share/qt4/mkspecs/qconfig.pri:
-/usr/local/share/qt4/mkspecs/features/qt_functions.prf:
-/usr/local/share/qt4/mkspecs/features/qt_config.prf:
-/usr/local/share/qt4/mkspecs/features/exclusive_builds.prf:
-/usr/local/share/qt4/mkspecs/features/default_pre.prf:
-/usr/local/share/qt4/mkspecs/features/release.prf:
-/usr/local/share/qt4/mkspecs/features/default_post.prf:
-/usr/local/share/qt4/mkspecs/features/shared.prf:
-/usr/local/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
-/usr/local/share/qt4/mkspecs/features/warn_on.prf:
-/usr/local/share/qt4/mkspecs/features/qt.prf:
-/usr/local/share/qt4/mkspecs/features/unix/thread.prf:
-/usr/local/share/qt4/mkspecs/features/moc.prf:
-/usr/local/share/qt4/mkspecs/features/resources.prf:
-/usr/local/share/qt4/mkspecs/features/uic.prf:
-/usr/local/share/qt4/mkspecs/features/yacc.prf:
-/usr/local/share/qt4/mkspecs/features/lex.prf:
-/usr/local/share/qt4/mkspecs/features/include_source_dir.prf:
-/usr/local/lib/qt4/libQtCore.prl:
-qmake:  FORCE
+/usr/local/lib/qt5/mkspecs/features/spec_pre.prf:
+/usr/local/lib/qt5/mkspecs/common/unix.conf:
+/usr/local/lib/qt5/mkspecs/common/bsd/bsd.conf:
+/usr/local/lib/qt5/mkspecs/common/sanitize.conf:
+/usr/local/lib/qt5/mkspecs/common/gcc-base.conf:
+/usr/local/lib/qt5/mkspecs/common/gcc-base-unix.conf:
+/usr/local/lib/qt5/mkspecs/common/clang.conf:
+/usr/local/lib/qt5/mkspecs/qconfig.pri:
+/usr/local/lib/qt5/mkspecs/modules/qt_config_core.pri:
+/usr/local/lib/qt5/mkspecs/modules/qt_lib_core.pri:
+/usr/local/lib/qt5/mkspecs/modules/qt_lib_core_private.pri:
+/usr/local/lib/qt5/mkspecs/features/qt_functions.prf:
+/usr/local/lib/qt5/mkspecs/features/qt_config.prf:
+/usr/local/lib/qt5/mkspecs/freebsd-clang/qmake.conf:
+/usr/local/lib/qt5/mkspecs/features/spec_post.prf:
+/usr/local/lib/qt5/mkspecs/features/exclusive_builds.prf:
+/usr/local/lib/qt5/mkspecs/features/toolchain.prf:
+/usr/local/lib/qt5/mkspecs/features/default_pre.prf:
+/usr/local/lib/qt5/mkspecs/features/resolve_config.prf:
+/usr/local/lib/qt5/mkspecs/features/default_post.prf:
+/usr/local/lib/qt5/mkspecs/features/warn_on.prf:
+/usr/local/lib/qt5/mkspecs/features/qt.prf:
+/usr/local/lib/qt5/mkspecs/features/resources.prf:
+/usr/local/lib/qt5/mkspecs/features/moc.prf:
+/usr/local/lib/qt5/mkspecs/features/unix/thread.prf:
+/usr/local/lib/qt5/mkspecs/features/qmake_use.prf:
+/usr/local/lib/qt5/mkspecs/features/file_copies.prf:
+/usr/local/lib/qt5/mkspecs/features/testcase_targets.prf:
+/usr/local/lib/qt5/mkspecs/features/exceptions.prf:
+/usr/local/lib/qt5/mkspecs/features/yacc.prf:
+/usr/local/lib/qt5/mkspecs/features/lex.prf:
+src.pro:
+/usr/local/lib/qt5/libQt5Core.prl:
+qmake: FORCE
 	@$(QMAKE) -o Makefile src.pro
 
-dist: 
-	@$(CHK_DIR_EXISTS) .tmp/svn-all-fast-export437beb493db3b1cb532ca5807264cd4403a44157 || $(MKDIR) .tmp/svn-all-fast-export437beb493db3b1cb532ca5807264cd4403a44157 
-	$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/svn-all-fast-export437beb493db3b1cb532ca5807264cd4403a44157/ && $(COPY_FILE) --parents ruleparser.h repository.h svn.h CommandLineParser.h .tmp/svn-all-fast-export437beb493db3b1cb532ca5807264cd4403a44157/ && $(COPY_FILE) --parents ruleparser.cpp repository.cpp svn.cpp main.cpp CommandLineParser.cpp .tmp/svn-all-fast-export437beb493db3b1cb532ca5807264cd4403a44157/ && (cd `dirname .tmp/svn-all-fast-export437beb493db3b1cb532ca5807264cd4403a44157` && $(TAR) svn-all-fast-export437beb493db3b1cb532ca5807264cd4403a44157.tar svn-all-fast-export437beb493db3b1cb532ca5807264cd4403a44157 && $(COMPRESS) svn-all-fast-export437beb493db3b1cb532ca5807264cd4403a44157.tar) && $(MOVE) `dirname .tmp/svn-all-fast-export437beb493db3b1cb532ca5807264cd4403a44157`/svn-all-fast-export437beb493db3b1cb532ca5807264cd4403a44157.tar.gz . && $(DEL_FILE) -r .tmp/svn-all-fast-export437beb493db3b1cb532ca5807264cd4403a44157
+qmake_all: FORCE
 
 
-clean:compiler_clean 
+all: Makefile ../svn-all-fast-export
+
+dist: distdir FORCE
+	(cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: FORCE
+	@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+	$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
+	$(COPY_FILE) --parents /usr/local/lib/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/
+	$(COPY_FILE) --parents ruleparser.h repository.h svn.h CommandLineParser.h $(DISTDIR)/
+	$(COPY_FILE) --parents ruleparser.cpp repository.cpp svn.cpp main.cpp CommandLineParser.cpp $(DISTDIR)/
+
+
+clean: compiler_clean 
 	-$(DEL_FILE) $(OBJECTS)
 	-$(DEL_FILE) *~ core *.core
 
 
-####### Sub-libraries
-
-distclean: clean
+distclean: clean 
 	-$(DEL_FILE) $(TARGET) 
+	-$(DEL_FILE) .qmake.stash
 	-$(DEL_FILE) Makefile
 
 
+####### Sub-libraries
+
+mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all
+
 check: first
 
-mocclean: compiler_moc_header_clean compiler_moc_source_clean
+benchmark: first
 
-mocables: compiler_moc_header_make_all compiler_moc_source_make_all
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_moc_predefs_make_all: moc_predefs.h
+compiler_moc_predefs_clean:
+	-$(DEL_FILE) moc_predefs.h
+moc_predefs.h: /usr/local/lib/qt5/mkspecs/features/data/dummy.cpp
+	clang++ -pipe -O2 -Wall -W -dM -E -o moc_predefs.h /usr/local/lib/qt5/mkspecs/features/data/dummy.cpp
 
 compiler_moc_header_make_all:
 compiler_moc_header_clean:
-compiler_rcc_make_all:
-compiler_rcc_clean:
-compiler_image_collection_make_all: qmake_image_collection.cpp
-compiler_image_collection_clean:
-	-$(DEL_FILE) qmake_image_collection.cpp
+compiler_moc_objc_header_make_all:
+compiler_moc_objc_header_clean:
 compiler_moc_source_make_all:
 compiler_moc_source_clean:
-compiler_uic_make_all:
-compiler_uic_clean:
 compiler_yacc_decl_make_all:
 compiler_yacc_decl_clean:
 compiler_yacc_impl_make_all:
 compiler_yacc_impl_clean:
 compiler_lex_make_all:
 compiler_lex_clean:
-compiler_clean: 
+compiler_clean: compiler_moc_predefs_clean 
 
 ####### Compile
 
-ruleparser.o: ruleparser.cpp ruleparser.h \
+ruleparser.o: ruleparser.cpp /usr/local/include/qt5/QtCore/QTextStream \
+		/usr/local/include/qt5/QtCore/qtextstream.h \
+		/usr/local/include/qt5/QtCore/qiodevice.h \
+		/usr/local/include/qt5/QtCore/qglobal.h \
+		/usr/local/include/qt5/QtCore/qconfig-bootstrapped.h \
+		/usr/local/include/qt5/QtCore/qconfig.h \
+		/usr/local/include/qt5/QtCore/qconfig-modules.h \
+		/usr/local/include/qt5/QtCore/modules/qconfig-core.h \
+		/usr/local/include/qt5/QtCore/qtcore-config.h \
+		/usr/local/include/qt5/QtCore/qsystemdetection.h \
+		/usr/local/include/qt5/QtCore/qprocessordetection.h \
+		/usr/local/include/qt5/QtCore/qcompilerdetection.h \
+		/usr/local/include/qt5/QtCore/qtypeinfo.h \
+		/usr/local/include/qt5/QtCore/qsysinfo.h \
+		/usr/local/include/qt5/QtCore/qlogging.h \
+		/usr/local/include/qt5/QtCore/qflags.h \
+		/usr/local/include/qt5/QtCore/qatomic.h \
+		/usr/local/include/qt5/QtCore/qbasicatomic.h \
+		/usr/local/include/qt5/QtCore/qatomic_bootstrap.h \
+		/usr/local/include/qt5/QtCore/qgenericatomic.h \
+		/usr/local/include/qt5/QtCore/qatomic_cxx11.h \
+		/usr/local/include/qt5/QtCore/qatomic_msvc.h \
+		/usr/local/include/qt5/QtCore/qglobalstatic.h \
+		/usr/local/include/qt5/QtCore/qmutex.h \
+		/usr/local/include/qt5/QtCore/qnumeric.h \
+		/usr/local/include/qt5/QtCore/qversiontagging.h \
+		/usr/local/include/qt5/QtCore/qobject.h \
+		/usr/local/include/qt5/QtCore/qobjectdefs.h \
+		/usr/local/include/qt5/QtCore/qnamespace.h \
+		/usr/local/include/qt5/QtCore/qobjectdefs_impl.h \
+		/usr/local/include/qt5/QtCore/qstring.h \
+		/usr/local/include/qt5/QtCore/qchar.h \
+		/usr/local/include/qt5/QtCore/qbytearray.h \
+		/usr/local/include/qt5/QtCore/qrefcount.h \
+		/usr/local/include/qt5/QtCore/qarraydata.h \
+		/usr/local/include/qt5/QtCore/qstringliteral.h \
+		/usr/local/include/qt5/QtCore/qstringalgorithms.h \
+		/usr/local/include/qt5/QtCore/qstringview.h \
+		/usr/local/include/qt5/QtCore/qstringbuilder.h \
+		/usr/local/include/qt5/QtCore/qlist.h \
+		/usr/local/include/qt5/QtCore/qalgorithms.h \
+		/usr/local/include/qt5/QtCore/qiterator.h \
+		/usr/local/include/qt5/QtCore/qhashfunctions.h \
+		/usr/local/include/qt5/QtCore/qpair.h \
+		/usr/local/include/qt5/QtCore/qbytearraylist.h \
+		/usr/local/include/qt5/QtCore/qstringlist.h \
+		/usr/local/include/qt5/QtCore/qregexp.h \
+		/usr/local/include/qt5/QtCore/qstringmatcher.h \
+		/usr/local/include/qt5/QtCore/qcoreevent.h \
+		/usr/local/include/qt5/QtCore/qscopedpointer.h \
+		/usr/local/include/qt5/QtCore/qmetatype.h \
+		/usr/local/include/qt5/QtCore/qvarlengtharray.h \
+		/usr/local/include/qt5/QtCore/qcontainerfwd.h \
+		/usr/local/include/qt5/QtCore/qobject_impl.h \
+		/usr/local/include/qt5/QtCore/qlocale.h \
+		/usr/local/include/qt5/QtCore/qvariant.h \
+		/usr/local/include/qt5/QtCore/qmap.h \
+		/usr/local/include/qt5/QtCore/qdebug.h \
+		/usr/local/include/qt5/QtCore/qhash.h \
+		/usr/local/include/qt5/QtCore/qvector.h \
+		/usr/local/include/qt5/QtCore/qpoint.h \
+		/usr/local/include/qt5/QtCore/qset.h \
+		/usr/local/include/qt5/QtCore/qcontiguouscache.h \
+		/usr/local/include/qt5/QtCore/qsharedpointer.h \
+		/usr/local/include/qt5/QtCore/qshareddata.h \
+		/usr/local/include/qt5/QtCore/qsharedpointer_impl.h \
+		/usr/local/include/qt5/QtCore/QList \
+		/usr/local/include/qt5/QtCore/QFile \
+		/usr/local/include/qt5/QtCore/qfile.h \
+		/usr/local/include/qt5/QtCore/qfiledevice.h \
+		/usr/local/include/qt5/QtCore/QDebug \
+		ruleparser.h \
+		/usr/local/include/qt5/QtCore/QMap \
+		/usr/local/include/qt5/QtCore/QRegExp \
+		/usr/local/include/qt5/QtCore/QString \
+		/usr/local/include/qt5/QtCore/QStringList \
+		/usr/local/include/qt5/QtCore/QStringBuilder \
 		CommandLineParser.h
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ruleparser.o ruleparser.cpp
 
 repository.o: repository.cpp repository.h \
+		/usr/local/include/qt5/QtCore/QHash \
+		/usr/local/include/qt5/QtCore/qhash.h \
+		/usr/local/include/qt5/QtCore/qchar.h \
+		/usr/local/include/qt5/QtCore/qglobal.h \
+		/usr/local/include/qt5/QtCore/qconfig-bootstrapped.h \
+		/usr/local/include/qt5/QtCore/qconfig.h \
+		/usr/local/include/qt5/QtCore/qconfig-modules.h \
+		/usr/local/include/qt5/QtCore/modules/qconfig-core.h \
+		/usr/local/include/qt5/QtCore/qtcore-config.h \
+		/usr/local/include/qt5/QtCore/qsystemdetection.h \
+		/usr/local/include/qt5/QtCore/qprocessordetection.h \
+		/usr/local/include/qt5/QtCore/qcompilerdetection.h \
+		/usr/local/include/qt5/QtCore/qtypeinfo.h \
+		/usr/local/include/qt5/QtCore/qsysinfo.h \
+		/usr/local/include/qt5/QtCore/qlogging.h \
+		/usr/local/include/qt5/QtCore/qflags.h \
+		/usr/local/include/qt5/QtCore/qatomic.h \
+		/usr/local/include/qt5/QtCore/qbasicatomic.h \
+		/usr/local/include/qt5/QtCore/qatomic_bootstrap.h \
+		/usr/local/include/qt5/QtCore/qgenericatomic.h \
+		/usr/local/include/qt5/QtCore/qatomic_cxx11.h \
+		/usr/local/include/qt5/QtCore/qatomic_msvc.h \
+		/usr/local/include/qt5/QtCore/qglobalstatic.h \
+		/usr/local/include/qt5/QtCore/qmutex.h \
+		/usr/local/include/qt5/QtCore/qnumeric.h \
+		/usr/local/include/qt5/QtCore/qversiontagging.h \
+		/usr/local/include/qt5/QtCore/qiterator.h \
+		/usr/local/include/qt5/QtCore/qlist.h \
+		/usr/local/include/qt5/QtCore/qalgorithms.h \
+		/usr/local/include/qt5/QtCore/qrefcount.h \
+		/usr/local/include/qt5/QtCore/qarraydata.h \
+		/usr/local/include/qt5/QtCore/qhashfunctions.h \
+		/usr/local/include/qt5/QtCore/qstring.h \
+		/usr/local/include/qt5/QtCore/qbytearray.h \
+		/usr/local/include/qt5/QtCore/qnamespace.h \
+		/usr/local/include/qt5/QtCore/qstringliteral.h \
+		/usr/local/include/qt5/QtCore/qstringalgorithms.h \
+		/usr/local/include/qt5/QtCore/qstringview.h \
+		/usr/local/include/qt5/QtCore/qstringbuilder.h \
+		/usr/local/include/qt5/QtCore/qpair.h \
+		/usr/local/include/qt5/QtCore/qbytearraylist.h \
+		/usr/local/include/qt5/QtCore/qstringlist.h \
+		/usr/local/include/qt5/QtCore/qregexp.h \
+		/usr/local/include/qt5/QtCore/qstringmatcher.h \
+		/usr/local/include/qt5/QtCore/QProcess \
+		/usr/local/include/qt5/QtCore/qprocess.h \
+		/usr/local/include/qt5/QtCore/qiodevice.h \
+		/usr/local/include/qt5/QtCore/qobject.h \
+		/usr/local/include/qt5/QtCore/qobjectdefs.h \
+		/usr/local/include/qt5/QtCore/qobjectdefs_impl.h \
+		/usr/local/include/qt5/QtCore/qcoreevent.h \
+		/usr/local/include/qt5/QtCore/qscopedpointer.h \
+		/usr/local/include/qt5/QtCore/qmetatype.h \
+		/usr/local/include/qt5/QtCore/qvarlengtharray.h \
+		/usr/local/include/qt5/QtCore/qcontainerfwd.h \
+		/usr/local/include/qt5/QtCore/qobject_impl.h \
+		/usr/local/include/qt5/QtCore/qshareddata.h \
+		/usr/local/include/qt5/QtCore/QVector \
+		/usr/local/include/qt5/QtCore/qvector.h \
+		/usr/local/include/qt5/QtCore/qpoint.h \
+		/usr/local/include/qt5/QtCore/QFile \
+		/usr/local/include/qt5/QtCore/qfile.h \
+		/usr/local/include/qt5/QtCore/qfiledevice.h \
 		ruleparser.h \
-		CommandLineParser.h
+		/usr/local/include/qt5/QtCore/QList \
+		/usr/local/include/qt5/QtCore/QMap \
+		/usr/local/include/qt5/QtCore/qmap.h \
+		/usr/local/include/qt5/QtCore/qdebug.h \
+		/usr/local/include/qt5/QtCore/qtextstream.h \
+		/usr/local/include/qt5/QtCore/qlocale.h \
+		/usr/local/include/qt5/QtCore/qvariant.h \
+		/usr/local/include/qt5/QtCore/qset.h \
+		/usr/local/include/qt5/QtCore/qcontiguouscache.h \
+		/usr/local/include/qt5/QtCore/qsharedpointer.h \
+		/usr/local/include/qt5/QtCore/qsharedpointer_impl.h \
+		/usr/local/include/qt5/QtCore/QRegExp \
+		/usr/local/include/qt5/QtCore/QString \
+		/usr/local/include/qt5/QtCore/QStringList \
+		/usr/local/include/qt5/QtCore/QStringBuilder \
+		CommandLineParser.h \
+		/usr/local/include/qt5/QtCore/QTextStream \
+		/usr/local/include/qt5/QtCore/QDataStream \
+		/usr/local/include/qt5/QtCore/qdatastream.h \
+		/usr/local/include/qt5/QtCore/QDebug \
+		/usr/local/include/qt5/QtCore/QDir \
+		/usr/local/include/qt5/QtCore/qdir.h \
+		/usr/local/include/qt5/QtCore/qfileinfo.h \
+		/usr/local/include/qt5/QtCore/QLinkedList \
+		/usr/local/include/qt5/QtCore/qlinkedlist.h
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o repository.o repository.cpp
 
 svn.o: svn.cpp svn.h \
+		/usr/local/include/qt5/QtCore/QHash \
+		/usr/local/include/qt5/QtCore/qhash.h \
+		/usr/local/include/qt5/QtCore/qchar.h \
+		/usr/local/include/qt5/QtCore/qglobal.h \
+		/usr/local/include/qt5/QtCore/qconfig-bootstrapped.h \
+		/usr/local/include/qt5/QtCore/qconfig.h \
+		/usr/local/include/qt5/QtCore/qconfig-modules.h \
+		/usr/local/include/qt5/QtCore/modules/qconfig-core.h \
+		/usr/local/include/qt5/QtCore/qtcore-config.h \
+		/usr/local/include/qt5/QtCore/qsystemdetection.h \
+		/usr/local/include/qt5/QtCore/qprocessordetection.h \
+		/usr/local/include/qt5/QtCore/qcompilerdetection.h \
+		/usr/local/include/qt5/QtCore/qtypeinfo.h \
+		/usr/local/include/qt5/QtCore/qsysinfo.h \
+		/usr/local/include/qt5/QtCore/qlogging.h \
+		/usr/local/include/qt5/QtCore/qflags.h \
+		/usr/local/include/qt5/QtCore/qatomic.h \
+		/usr/local/include/qt5/QtCore/qbasicatomic.h \
+		/usr/local/include/qt5/QtCore/qatomic_bootstrap.h \
+		/usr/local/include/qt5/QtCore/qgenericatomic.h \
+		/usr/local/include/qt5/QtCore/qatomic_cxx11.h \
+		/usr/local/include/qt5/QtCore/qatomic_msvc.h \
+		/usr/local/include/qt5/QtCore/qglobalstatic.h \
+		/usr/local/include/qt5/QtCore/qmutex.h \
+		/usr/local/include/qt5/QtCore/qnumeric.h \
+		/usr/local/include/qt5/QtCore/qversiontagging.h \
+		/usr/local/include/qt5/QtCore/qiterator.h \
+		/usr/local/include/qt5/QtCore/qlist.h \
+		/usr/local/include/qt5/QtCore/qalgorithms.h \
+		/usr/local/include/qt5/QtCore/qrefcount.h \
+		/usr/local/include/qt5/QtCore/qarraydata.h \
+		/usr/local/include/qt5/QtCore/qhashfunctions.h \
+		/usr/local/include/qt5/QtCore/qstring.h \
+		/usr/local/include/qt5/QtCore/qbytearray.h \
+		/usr/local/include/qt5/QtCore/qnamespace.h \
+		/usr/local/include/qt5/QtCore/qstringliteral.h \
+		/usr/local/include/qt5/QtCore/qstringalgorithms.h \
+		/usr/local/include/qt5/QtCore/qstringview.h \
+		/usr/local/include/qt5/QtCore/qstringbuilder.h \
+		/usr/local/include/qt5/QtCore/qpair.h \
+		/usr/local/include/qt5/QtCore/qbytearraylist.h \
+		/usr/local/include/qt5/QtCore/qstringlist.h \
+		/usr/local/include/qt5/QtCore/qregexp.h \
+		/usr/local/include/qt5/QtCore/qstringmatcher.h \
+		/usr/local/include/qt5/QtCore/QList \
 		ruleparser.h \
+		/usr/local/include/qt5/QtCore/QMap \
+		/usr/local/include/qt5/QtCore/qmap.h \
+		/usr/local/include/qt5/QtCore/qdebug.h \
+		/usr/local/include/qt5/QtCore/qtextstream.h \
+		/usr/local/include/qt5/QtCore/qiodevice.h \
+		/usr/local/include/qt5/QtCore/qobject.h \
+		/usr/local/include/qt5/QtCore/qobjectdefs.h \
+		/usr/local/include/qt5/QtCore/qobjectdefs_impl.h \
+		/usr/local/include/qt5/QtCore/qcoreevent.h \
+		/usr/local/include/qt5/QtCore/qscopedpointer.h \
+		/usr/local/include/qt5/QtCore/qmetatype.h \
+		/usr/local/include/qt5/QtCore/qvarlengtharray.h \
+		/usr/local/include/qt5/QtCore/qcontainerfwd.h \
+		/usr/local/include/qt5/QtCore/qobject_impl.h \
+		/usr/local/include/qt5/QtCore/qlocale.h \
+		/usr/local/include/qt5/QtCore/qvariant.h \
+		/usr/local/include/qt5/QtCore/qshareddata.h \
+		/usr/local/include/qt5/QtCore/qvector.h \
+		/usr/local/include/qt5/QtCore/qpoint.h \
+		/usr/local/include/qt5/QtCore/qset.h \
+		/usr/local/include/qt5/QtCore/qcontiguouscache.h \
+		/usr/local/include/qt5/QtCore/qsharedpointer.h \
+		/usr/local/include/qt5/QtCore/qsharedpointer_impl.h \
+		/usr/local/include/qt5/QtCore/QRegExp \
+		/usr/local/include/qt5/QtCore/QString \
+		/usr/local/include/qt5/QtCore/QStringList \
+		/usr/local/include/qt5/QtCore/QStringBuilder \
 		CommandLineParser.h \
-		repository.h
+		/usr/local/include/apr-1/apr_lib.h \
+		/usr/local/include/apr-1/apr.h \
+		/usr/local/include/apr-1/apr_errno.h \
+		/usr/local/include/apr-1/apr_getopt.h \
+		/usr/local/include/apr-1/apr_pools.h \
+		/usr/local/include/apr-1/apr_general.h \

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-user@freebsd.org  Sun Sep 22 12:33:19 2019
Return-Path: <owner-svn-src-user@freebsd.org>
Delivered-To: svn-src-user@mailman.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
 by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7B5B21211EC
 for <svn-src-user@mailman.nyi.freebsd.org>;
 Sun, 22 Sep 2019 12:33:19 +0000 (UTC) (envelope-from uqs@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org
 [IPv6:2610:1c1:1:606c::19:3])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 server-signature RSA-PSS (4096 bits)
 client-signature RSA-PSS (4096 bits) client-digest SHA256)
 (Client CN "mxrelay.nyi.freebsd.org",
 Issuer "Let's Encrypt Authority X3" (verified OK))
 by mx1.freebsd.org (Postfix) with ESMTPS id 46bn1C2lm9z3Fxg;
 Sun, 22 Sep 2019 12:33:19 +0000 (UTC) (envelope-from uqs@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 42F102689D;
 Sun, 22 Sep 2019 12:33:19 +0000 (UTC) (envelope-from uqs@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x8MCXJB8007744;
 Sun, 22 Sep 2019 12:33:19 GMT (envelope-from uqs@FreeBSD.org)
Received: (from uqs@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id x8MCXJ9e007743;
 Sun, 22 Sep 2019 12:33:19 GMT (envelope-from uqs@FreeBSD.org)
Message-Id: <201909221233.x8MCXJ9e007743@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: uqs set sender to uqs@FreeBSD.org
 using -f
From: Ulrich Spoerlein <uqs@FreeBSD.org>
Date: Sun, 22 Sep 2019 12:33:19 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r352596 - user/uqs/git_conv
X-SVN-Group: user
X-SVN-Commit-Author: uqs
X-SVN-Commit-Paths: user/uqs/git_conv
X-SVN-Commit-Revision: 352596
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 22 Sep 2019 12:33:19 -0000

Author: uqs
Date: Sun Sep 22 12:33:18 2019
New Revision: 352596
URL: https://svnweb.freebsd.org/changeset/base/352596

Log:
  Fix svn2git on large repos by extending the timeout that we wait for fast-import from 30s to 1h.
  
  Also don't use the ports version, as it doesn't have the project branch merge hack. While here
  clean up some legacy names.

Modified:
  user/uqs/git_conv/git_conv

Modified: user/uqs/git_conv/git_conv
==============================================================================
--- user/uqs/git_conv/git_conv	Sun Sep 22 11:40:43 2019	(r352595)
+++ user/uqs/git_conv/git_conv	Sun Sep 22 12:33:18 2019	(r352596)
@@ -65,12 +65,11 @@
 # And similar for ports and doc.
 : ${BASE=/home/git}
 : ${RULES_DIR=${BASE}}
-: ${SVN2GIT=/usr/local/bin/svn2git}
+: ${SVN2GIT=${BASE}/svn2git/svn-all-fast-export}
 
-# xxx_REPO are legacy names, TODO remove them ...
-: ${REPO_base=${SRC_REPO:-/home/svn/base}}
-: ${REPO_doc=${DOC_REPO:-/home/svn/doc}}
-: ${REPO_ports=${PORTS_REPO:-/home/svn/ports}}
+: ${REPO_base=/home/svn/base}
+: ${REPO_doc=/home/svn/doc}
+: ${REPO_ports=/home/svn/ports}
 
 usage()
 {
@@ -136,7 +135,7 @@ svn2git()
 
     cd $BASE
     echo "Converting $source to $target using svn2git"
-    $SVN2GIT --add-metadata-notes --identity-domain FreeBSD.org --rules $rules $source
+    $SVN2GIT --fast-import-timeout 3600 --add-metadata-notes --identity-domain FreeBSD.org --rules $rules $source
     if [ $? != 0 ]; then
 	echo "Error in svn2git conversion of $source" >&2
 	exit 1

From owner-svn-src-user@freebsd.org  Mon Sep 23 20:54:19 2019
Return-Path: <owner-svn-src-user@freebsd.org>
Delivered-To: svn-src-user@mailman.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
 by mailman.nyi.freebsd.org (Postfix) with ESMTP id 77954FFDA8
 for <svn-src-user@mailman.nyi.freebsd.org>;
 Mon, 23 Sep 2019 20:54:19 +0000 (UTC) (envelope-from uqs@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org
 [IPv6:2610:1c1:1:606c::19:3])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 server-signature RSA-PSS (4096 bits)
 client-signature RSA-PSS (4096 bits) client-digest SHA256)
 (Client CN "mxrelay.nyi.freebsd.org",
 Issuer "Let's Encrypt Authority X3" (verified OK))
 by mx1.freebsd.org (Postfix) with ESMTPS id 46cc4q2dZzz4Wr9;
 Mon, 23 Sep 2019 20:54:19 +0000 (UTC) (envelope-from uqs@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3DC261C96B;
 Mon, 23 Sep 2019 20:54:19 +0000 (UTC) (envelope-from uqs@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x8NKsJFK084087;
 Mon, 23 Sep 2019 20:54:19 GMT (envelope-from uqs@FreeBSD.org)
Received: (from uqs@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id x8NKsJNh084086;
 Mon, 23 Sep 2019 20:54:19 GMT (envelope-from uqs@FreeBSD.org)
Message-Id: <201909232054.x8NKsJNh084086@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: uqs set sender to uqs@FreeBSD.org
 using -f
From: Ulrich Spoerlein <uqs@FreeBSD.org>
Date: Mon, 23 Sep 2019 20:54:19 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r352632 - user/uqs/git_conv
X-SVN-Group: user
X-SVN-Commit-Author: uqs
X-SVN-Commit-Paths: user/uqs/git_conv
X-SVN-Commit-Revision: 352632
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 23 Sep 2019 20:54:19 -0000

Author: uqs
Date: Mon Sep 23 20:54:18 2019
New Revision: 352632
URL: https://svnweb.freebsd.org/changeset/base/352632

Log:
  Handle svn2git and git-svn conversions the same.
  
  Handle autocrlf and ignorecase the same in both repos too.

Modified:
  user/uqs/git_conv/git_conv

Modified: user/uqs/git_conv/git_conv
==============================================================================
--- user/uqs/git_conv/git_conv	Mon Sep 23 20:50:04 2019	(r352631)
+++ user/uqs/git_conv/git_conv	Mon Sep 23 20:54:18 2019	(r352632)
@@ -30,7 +30,9 @@
 #
 # 2. svn2git conversion: need to run against local paths, using rules files in ~git/*.rules
 # - First svn2git run will create the target git repo, then
-# - git config --global push.default matching
+# - git config push.default matching
+# - git config core.autocrlf false
+# - git config core.ignorecase false
 # - git remote add github base.github.com:freebsd/freebsd.git
 # - git config --add remote.github.push '+refs/heads/master:refs/heads/master'
 # - git config --add remote.github.push '+refs/heads/stable/*:refs/heads/stable/*'
@@ -48,8 +50,9 @@
 # - git svn init -Thead --rewrite-root=svn+ssh://svn.freebsd.org/ports file:///home/svn/freebsd-ports.svn ports-head.git
 # - cd base-head.git
 # - git svn fetch -r 0:1000
-# - git config --global push.default matching
-# - git config --global core.autocrlf false
+# - git config push.default matching
+# - git config core.autocrlf false
+# - git config core.ignorecase false
 # - git remote add github base.github.com:freebsd/freebsd.git
 # - git config --add remote.github.push '+refs/remotes/trunk:refs/heads/svn_head'
 # - git svn rebase
@@ -65,7 +68,7 @@
 # And similar for ports and doc.
 : ${BASE=/home/git}
 : ${RULES_DIR=${BASE}}
-: ${SVN2GIT=${BASE}/svn2git/svn-all-fast-export}
+: ${SVN2GIT=${BASE}/svn2git/svn-all-fast-export}  # Needs to have the merge-hack
 
 : ${REPO_base=/home/svn/base}
 : ${REPO_doc=/home/svn/doc}
@@ -134,54 +137,63 @@ svn2git()
     test -f "$rules" || { echo "$rules do not exist, exiting ..." >&2; exit 1; }
 
     cd $BASE
+    if ! test -f "$BASE/$target/HEAD"; then
+	echo "$BASE/$target is not a git repo, creating first revisions ..."
+
+	git init --bare $target
+	(
+	    cd $target
+	    touch marks-$target
+	    touch git-daemon-export-ok
+	    git config --local push.default matching
+	    git config --local core.autocrlf false
+	    git config --local core.ignorecase false
+	    # We use fake github hosts like ports.github.com, which we fix in our
+	    # .ssh/config *and* apply a per-repo ssh key, which is the whole point
+	    # of this hack.
+	    case "$TYPE" in
+		base)
+		    git remote add github $TYPE.github.com:freebsd/freebsd.git
+		    git config --add remote.github.push '+refs/heads/master:refs/heads/master'
+		    git config --add remote.github.push '+refs/heads/projects/*:refs/heads/projects/*'
+		    git config --add remote.github.push '+refs/heads/release/*:refs/heads/release/*'
+		    git config --add remote.github.push '+refs/heads/releng/*:refs/heads/releng/*'
+		    git config --add remote.github.push '+refs/heads/stable/*:refs/heads/stable/*'
+		    git config --add remote.github.push '+refs/heads/user/*:refs/heads/user/*'
+		    git config --add remote.github.push '+refs/notes/*:refs/notes/*'
+
+		    git remote add bitbucket ssh://git@bitbucket.org/freebsd/freebsd-$TYPE.git
+		    git config --add remote.bitbucket.push '+refs/heads/master:refs/heads/master'
+		    git config --add remote.bitbucket.push '+refs/heads/stable/*:refs/heads/stable/*'
+		    git config --add remote.bitbucket.push '+refs/notes/*:refs/notes/*'
+		    ;;
+		doc)
+		    git remote add github $TYPE.github.com:freebsd/freebsd-$TYPE.git
+		    git config --add remote.github.push '+refs/heads/master:refs/heads/master'
+		    git config --add remote.github.push '+refs/heads/projects/*:refs/heads/projects/*'
+		    git config --add remote.github.push '+refs/heads/release/*:refs/heads/release/*'
+		    git config --add remote.github.push '+refs/notes/*:refs/notes/*'
+		    ;;
+		ports)
+		    git remote add github $TYPE.github.com:freebsd/freebsd-$TYPE.git
+		    git config --add remote.github.push '+refs/heads/branches/*:refs/heads/branches/*'
+		    git config --add remote.github.push '+refs/heads/master:refs/heads/master'
+		    git config --add remote.github.push '+refs/heads/projects/*:refs/heads/projects/*'
+		    git config --add remote.github.push '+refs/notes/*:refs/notes/*'
+		    ;;
+	    esac
+	)
+
+	# Initial small run
+	$SVN2GIT --max-rev 100 --fast-import-timeout 3600 --add-metadata-notes --identity-domain FreeBSD.org --rules $rules $source
+    fi
+
     echo "Converting $source to $target using svn2git"
     $SVN2GIT --fast-import-timeout 3600 --add-metadata-notes --identity-domain FreeBSD.org --rules $rules $source
     if [ $? != 0 ]; then
 	echo "Error in svn2git conversion of $source" >&2
 	exit 1
     fi
-    touch $target/git-daemon-export-ok
-    cd $target
-    if ! git config --local --get push.default >/dev/null; then
-	git config --local push.default matching
-    fi
-    if ! git config --local --get remote.github.url >/dev/null; then
-	# We use fake github hosts like ports.github.com, which we fix in our
-	# .ssh/config *and* apply a per-repo ssh key, which is the whole point
-	# of this hack.
-	case "$TYPE" in
-	    base)
-		git remote add github $TYPE.github.com:freebsd/freebsd.git
-		git config --add remote.github.push '+refs/heads/master:refs/heads/master'
-		git config --add remote.github.push '+refs/heads/projects/*:refs/heads/projects/*'
-		git config --add remote.github.push '+refs/heads/release/*:refs/heads/release/*'
-		git config --add remote.github.push '+refs/heads/releng/*:refs/heads/releng/*'
-		git config --add remote.github.push '+refs/heads/stable/*:refs/heads/stable/*'
-		git config --add remote.github.push '+refs/heads/user/*:refs/heads/user/*'
-		git config --add remote.github.push '+refs/notes/*:refs/notes/*'
-
-		git remote add bitbucket ssh://git@bitbucket.org/freebsd/freebsd-$TYPE.git
-		git config --add remote.bitbucket.push '+refs/heads/master:refs/heads/master'
-		git config --add remote.bitbucket.push '+refs/heads/stable/*:refs/heads/stable/*'
-		git config --add remote.bitbucket.push '+refs/notes/*:refs/notes/*'
-		;;
-	    doc)
-		git remote add github $TYPE.github.com:freebsd/freebsd-$TYPE.git
-		git config --add remote.github.push '+refs/heads/master:refs/heads/master'
-		git config --add remote.github.push '+refs/heads/projects/*:refs/heads/projects/*'
-		git config --add remote.github.push '+refs/heads/release/*:refs/heads/release/*'
-		git config --add remote.github.push '+refs/notes/*:refs/notes/*'
-		;;
-	    ports)
-		git remote add github $TYPE.github.com:freebsd/freebsd-$TYPE.git
-		git config --add remote.github.push '+refs/heads/branches/*:refs/heads/branches/*'
-		git config --add remote.github.push '+refs/heads/master:refs/heads/master'
-		git config --add remote.github.push '+refs/heads/projects/*:refs/heads/projects/*'
-		git config --add remote.github.push '+refs/notes/*:refs/notes/*'
-		;;
-	esac
-    fi
-
     if [ -z "$dest" -o -n "$run_local" ]; then
 	return
     fi
@@ -202,13 +214,18 @@ gitsvn()
     if ! test -d "$BASE/$target/.git"; then
 	echo "$BASE/$target is not a git repo, creating first revisions ..."
 	git svn init -Thead --rewrite-root=svn+ssh://svn.freebsd.org/$TYPE file://`eval echo \\\${REPO_${TYPE}}` $BASE/$target
-	cd $BASE/$target && git svn fetch -r 0:100
+	cd $BASE/$target
 	git config --local push.default matching
+	git config --local core.autocrlf false
+	git config --local core.ignorecase false
 	case "$TYPE" in
 	    base) git remote add github $TYPE.github.com:freebsd/freebsd.git ;;
 	    *) git remote add github $TYPE.github.com:freebsd/freebsd-$TYPE.git ;;
 	esac
 	git config --add remote.github.push '+refs/remotes/trunk:refs/heads/svn_head'
+
+	# Initial small run
+	git svn fetch -r 0:100
     fi
     cd $BASE/$target
     echo "Converting $target using git-svn"

From owner-svn-src-user@freebsd.org  Mon Sep 23 20:55:40 2019
Return-Path: <owner-svn-src-user@freebsd.org>
Delivered-To: svn-src-user@mailman.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
 by mailman.nyi.freebsd.org (Postfix) with ESMTP id EA6A4FFDD8
 for <svn-src-user@mailman.nyi.freebsd.org>;
 Mon, 23 Sep 2019 20:55:40 +0000 (UTC) (envelope-from uqs@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org
 [IPv6:2610:1c1:1:606c::19:3])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 server-signature RSA-PSS (4096 bits)
 client-signature RSA-PSS (4096 bits) client-digest SHA256)
 (Client CN "mxrelay.nyi.freebsd.org",
 Issuer "Let's Encrypt Authority X3" (verified OK))
 by mx1.freebsd.org (Postfix) with ESMTPS id 46cc6N5sSvz4Wx0;
 Mon, 23 Sep 2019 20:55:40 +0000 (UTC) (envelope-from uqs@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AC92D1C96F;
 Mon, 23 Sep 2019 20:55:40 +0000 (UTC) (envelope-from uqs@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x8NKte0V084228;
 Mon, 23 Sep 2019 20:55:40 GMT (envelope-from uqs@FreeBSD.org)
Received: (from uqs@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id x8NKtert084227;
 Mon, 23 Sep 2019 20:55:40 GMT (envelope-from uqs@FreeBSD.org)
Message-Id: <201909232055.x8NKtert084227@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: uqs set sender to uqs@FreeBSD.org
 using -f
From: Ulrich Spoerlein <uqs@FreeBSD.org>
Date: Mon, 23 Sep 2019 20:55:40 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r352633 - user/uqs/git_conv
X-SVN-Group: user
X-SVN-Commit-Author: uqs
X-SVN-Commit-Paths: user/uqs/git_conv
X-SVN-Commit-Revision: 352633
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 23 Sep 2019 20:55:41 -0000

Author: uqs
Date: Mon Sep 23 20:55:40 2019
New Revision: 352633
URL: https://svnweb.freebsd.org/changeset/base/352633

Log:
  Remove bitbucket, it's essentially dead and we're long past their repo size restrictions.

Modified:
  user/uqs/git_conv/git_conv

Modified: user/uqs/git_conv/git_conv
==============================================================================
--- user/uqs/git_conv/git_conv	Mon Sep 23 20:54:18 2019	(r352632)
+++ user/uqs/git_conv/git_conv	Mon Sep 23 20:55:40 2019	(r352633)
@@ -161,11 +161,6 @@ svn2git()
 		    git config --add remote.github.push '+refs/heads/stable/*:refs/heads/stable/*'
 		    git config --add remote.github.push '+refs/heads/user/*:refs/heads/user/*'
 		    git config --add remote.github.push '+refs/notes/*:refs/notes/*'
-
-		    git remote add bitbucket ssh://git@bitbucket.org/freebsd/freebsd-$TYPE.git
-		    git config --add remote.bitbucket.push '+refs/heads/master:refs/heads/master'
-		    git config --add remote.bitbucket.push '+refs/heads/stable/*:refs/heads/stable/*'
-		    git config --add remote.bitbucket.push '+refs/notes/*:refs/notes/*'
 		    ;;
 		doc)
 		    git remote add github $TYPE.github.com:freebsd/freebsd-$TYPE.git
@@ -255,7 +250,7 @@ fi
 
 if [ -n "$do_svn2git" ]; then
     case "$TYPE" in
-	base) svn2git $RULES_DIR/freebsd-base.rules ${REPO_base} github bitbucket ;;
+	base) svn2git $RULES_DIR/freebsd-base.rules ${REPO_base} github ;;
 	doc) svn2git $RULES_DIR/freebsd-doc.rules ${REPO_doc} github ;;
 	ports) svn2git $RULES_DIR/freebsd-ports.rules ${REPO_ports} github ;;
     esac

From owner-svn-src-user@freebsd.org  Fri Sep 27 07:20:18 2019
Return-Path: <owner-svn-src-user@freebsd.org>
Delivered-To: svn-src-user@mailman.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
 by mailman.nyi.freebsd.org (Postfix) with ESMTP id EAB1AF8C8D
 for <svn-src-user@mailman.nyi.freebsd.org>;
 Fri, 27 Sep 2019 07:20:18 +0000 (UTC) (envelope-from pho@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org
 [IPv6:2610:1c1:1:606c::19:3])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 server-signature RSA-PSS (4096 bits)
 client-signature RSA-PSS (4096 bits) client-digest SHA256)
 (Client CN "mxrelay.nyi.freebsd.org",
 Issuer "Let's Encrypt Authority X3" (verified OK))
 by mx1.freebsd.org (Postfix) with ESMTPS id 46fjqk5S9qz4SHl;
 Fri, 27 Sep 2019 07:20:18 +0000 (UTC) (envelope-from pho@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9FE46D470;
 Fri, 27 Sep 2019 07:20:18 +0000 (UTC) (envelope-from pho@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x8R7KIXm015515;
 Fri, 27 Sep 2019 07:20:18 GMT (envelope-from pho@FreeBSD.org)
Received: (from pho@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id x8R7KIL0015514;
 Fri, 27 Sep 2019 07:20:18 GMT (envelope-from pho@FreeBSD.org)
Message-Id: <201909270720.x8R7KIL0015514@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org
 using -f
From: Peter Holm <pho@FreeBSD.org>
Date: Fri, 27 Sep 2019 07:20:18 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r352789 - user/pho/stress2/misc
X-SVN-Group: user
X-SVN-Commit-Author: pho
X-SVN-Commit-Paths: user/pho/stress2/misc
X-SVN-Commit-Revision: 352789
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 07:20:19 -0000

Author: pho
Date: Fri Sep 27 07:20:18 2019
New Revision: 352789
URL: https://svnweb.freebsd.org/changeset/base/352789

Log:
  Added a regression test.
  
  Sponsored by:	Dell EMC Isilon

Added:
  user/pho/stress2/misc/fexecve.sh   (contents, props changed)

Added: user/pho/stress2/misc/fexecve.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/pho/stress2/misc/fexecve.sh	Fri Sep 27 07:20:18 2019	(r352789)
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+#
+# SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+#
+# Copyright (c) 2019 Dell EMC Isilon
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+#
+
+# Reported by syzkaller.
+# "panic: vm_page_free_prep: page 0x61e5968 has unexpected ref_count ." seen
+# Fixed by r352748
+
+# Test scenario by: Mark Johnston <markj@freebsd.org>
+
+cat > /tmp/fexecve.c <<EOF
+#include <sys/param.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+
+#include <fcntl.h>
+#include <err.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+
+int
+main(int argc __unused, char **argv)
+{
+	char template[PATH_MAX];
+	void *addr;
+	size_t sz;
+	int fd;
+
+	sz = 16 * 4096;
+
+	(void)snprintf(template, sizeof(template), "test.XXXXXX");
+	fd = mkstemp(template);
+	if (fd < 0)
+		err(1, "mkstemp");
+	if (fchmod(fd, 0700) < 0)
+		err(1, "fchmod");
+	if (ftruncate(fd, sz) < 0)
+		err(1, "ftruncate");
+
+	addr = mmap(NULL, sz, PROT_MAX(PROT_READ) | PROT_READ, MAP_SHARED,
+	    fd, 0);
+	if (addr == MAP_FAILED)
+		err(1, "mmap");
+
+	if (mlock(addr, sz) != 0)
+		err(1, "mlock");
+
+	if (ftruncate(fd, 0) != 0)
+		err(1, "ftruncate");
+	if (ftruncate(fd, sz) != 0)
+		err(1, "ftruncate");
+
+	(void)close(fd);
+
+	fd = open(template, O_EXEC);
+	if (fd < 0)
+		err(1, "open");
+	fexecve(fd, argv, NULL);
+	err(1, "fexecve");
+
+	return (0);
+}
+EOF
+cc -o /tmp/fexecve -Wall -Wextra -O2 /tmp/fexecve.c || exit 1
+echo "Expect: fexecve: fexecve: Input/output error"
+/tmp/fexecve
+
+rm -f /tmp/fexecve /tmp/fexecve.c