Index: tools/tools/git/HOWTO =================================================================== --- tools/tools/git/HOWTO +++ tools/tools/git/HOWTO @@ -157,3 +157,10 @@ 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. Index: tools/tools/git/git-svn-init =================================================================== --- /dev/null +++ tools/tools/git/git-svn-init @@ -0,0 +1,189 @@ +#!/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 <