From owner-svn-src-head@freebsd.org Thu Aug 2 18:28:03 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 88DEF106ECE4; Thu, 2 Aug 2018 18:28:03 +0000 (UTC) (envelope-from bwidawsk@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 36A8075262; Thu, 2 Aug 2018 18:28:03 +0000 (UTC) (envelope-from bwidawsk@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 1644C155D8; Thu, 2 Aug 2018 18:28:03 +0000 (UTC) (envelope-from bwidawsk@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w72IS2U7055987; Thu, 2 Aug 2018 18:28:02 GMT (envelope-from bwidawsk@FreeBSD.org) Received: (from bwidawsk@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w72IS2ts055984; Thu, 2 Aug 2018 18:28:02 GMT (envelope-from bwidawsk@FreeBSD.org) Message-Id: <201808021828.w72IS2ts055984@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bwidawsk set sender to bwidawsk@FreeBSD.org using -f From: Ben Widawsky Date: Thu, 2 Aug 2018 18:28:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r337157 - in head: . tools/tools/git X-SVN-Group: head X-SVN-Commit-Author: bwidawsk X-SVN-Commit-Paths: in head: . tools/tools/git X-SVN-Commit-Revision: 337157 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2018 18:28:03 -0000 Author: bwidawsk Date: Thu Aug 2 18:28:02 2018 New Revision: 337157 URL: https://svnweb.freebsd.org/changeset/base/337157 Log: tools: Add a git-svn bootstrap script codified version of https://wiki.freebsd.org/GitWorkflow/GitSvn#Using_git-svn Approved by: emaste (mentor) Suggested by: Warner Losh (imp) Differential Revision: https://reviews.freebsd.org/D16528 Added: head/tools/tools/git/git-svn-init (contents, props changed) Modified: head/.gitattributes head/tools/tools/git/HOWTO Modified: head/.gitattributes ============================================================================== --- head/.gitattributes Thu Aug 2 18:24:03 2018 (r337156) +++ head/.gitattributes Thu Aug 2 18:28:02 2018 (r337157) @@ -3,3 +3,4 @@ *.cpp diff=cpp *.hpp diff=cpp *.py diff=python +. svn-properties=svn:executable=tools/tools/git/git-svn-init Modified: head/tools/tools/git/HOWTO ============================================================================== --- head/tools/tools/git/HOWTO Thu Aug 2 18:24:03 2018 (r337156) +++ head/tools/tools/git/HOWTO Thu Aug 2 18:28:02 2018 (r337157) @@ -157,3 +157,10 @@ and it will do its thing and leave the tree on the mas Your tree must be clean to start this, and while it tries to catch some failures, not all of them have been allowed for. + +IV. git-svn-init +git-svn-init is a script that initializes the right git-svn connection as +outlined in https://wiki.freebsd.org/GitWorkflow/GitSvn. It would be a precursor +to the script git-svn-rebase. The script contains help, but generally you can +run the script with no arguments and it will attempt to set up both src and +ports repositories. Added: head/tools/tools/git/git-svn-init ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/tools/git/git-svn-init Thu Aug 2 18:28:02 2018 (r337157) @@ -0,0 +1,195 @@ +#!/bin/sh + +# $FreeBSD$ + +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD +# +# Copyright(c) 2018 Intel Corporation. +# +# 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. + +# This is the codified version of what was/is on the wiki page for using git in +# your workflow. It sets up proper repositories, with the correct remotes. + +# Environment variables which can be overridden if desired. Not worth +# parameterizing them. +GIT_IN_PATH=$(which git) +GIT=${GIT-${GIT_IN_PATH}} + +GIT_PORTS_REPO=${GIT_PORTS_REPO-git://github.com/freebsd/freebsd-ports.git} +GIT_SVN_PORTS_ROOT_URI=${GIT_SVN_PORTS_ROOT_URI-svn.freebsd.org/ports} +GIT_SVN_PORTS_URI=${GIT_SVN_PORTS_URI-repo.freebsd.org/ports} + +GIT_SRC_REPO=${GIT_SRC_REPO-git://github.com/freebsd/freebsd.git} +GIT_SVN_SRC_ROOT_URI=${GIT_SVN_SRC_ROOT_URI-svn.freebsd.org/base} +GIT_SVN_SRC_URI=${GIT_SVN_SRC_URI-repo.freebsd.org/base} + +GIT_SVN_PORTS_PUSH_URI=$GIT_SVN_PORTS_URI +GIT_SVN_SRC_PUSH_URI=$GIT_SVN_SRC_URI + +usage() +{ + cat <