You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2017/10/30 23:11:48 UTC
svn commit: r1813838 - in /maven/sandbox/trunk/scripts/git: migrate-pom.sh
migrate-skins.sh
Author: hboutemy
Date: Mon Oct 30 23:11:48 2017
New Revision: 1813838
URL: http://svn.apache.org/viewvc?rev=1813838&view=rev
Log:
add script for pom and skins
Added:
maven/sandbox/trunk/scripts/git/migrate-pom.sh (with props)
maven/sandbox/trunk/scripts/git/migrate-skins.sh (with props)
Added: maven/sandbox/trunk/scripts/git/migrate-pom.sh
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scripts/git/migrate-pom.sh?rev=1813838&view=auto
==============================================================================
--- maven/sandbox/trunk/scripts/git/migrate-pom.sh (added)
+++ maven/sandbox/trunk/scripts/git/migrate-pom.sh Mon Oct 30 23:11:48 2017
@@ -0,0 +1,83 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This script is used to migrate modules from SVN to Git,
+# or more precisely to split a svn2git repo to a module repo
+#!/bin/sh -e
+
+# svn2git repo to be split
+svn2git_repo='maven-pom'
+
+# prefixes for modules
+prefixes='maven asf'
+
+git_src_location="svn2git/${svn2git_repo}"
+
+if [ ! -d ${git_src_location} ]; then
+ # clone svn2git repo
+ echo "Cloning source git-svn ${svn2git_repo} ..."
+ git clone https://github.com/apache/${svn2git_repo}.git ${git_src_location}
+ # ensure we don't accidentally overwrite the source repository
+ chmod ugo-w ${git_src_location}
+ echo "Done!"
+fi
+
+for prefix in ${prefixes}; do
+ if [[ ${prefix} == maven ]]; then
+ repo_name="maven-parent"
+ artifactId="maven-parent"
+ else
+ repo_name="maven-apache-parent"
+ artifactId="apache"
+ fi
+ echo "Filtering ${prefix} to ${repo_name}..."
+ if [ ! -d ${repo_name}/.git ]; then
+ # create the initial repo
+ git clone --no-hardlinks ${git_src_location} ${repo_name}
+ pushd ${repo_name}
+
+ # make sure we don't push to the incorrect repo and also remove make sure
+ # we don't keep references to the remote repo
+ git remote rm origin
+
+ # rename trunk to master
+ git branch -m trunk master
+
+ # Remove everything except the path belonging to the module
+ git filter-branch --subdirectory-filter ${prefix}/
+
+ # remove unrelated tags
+ for tag in $(git tag); do
+ if [[ $tag != ${artifactId}* ]]; then
+ git tag -d ${tag} > /dev/null
+ fi
+ done
+
+ # cleanup and compaction
+ git for-each-ref --format="%(refname)" refs/original/ | xargs -n1 git update-ref -d
+ git reflog expire --expire=now --all
+ git repack -Ad
+ git gc --aggressive --prune=now
+
+ git remote add origin https://gitbox.apache.org/repos/asf/${repo_name}.git
+
+ popd
+ echo "Complete!"
+ else
+ echo "Already converted"
+ fi
+done
+
+echo "Launch 'git push --set-upstream origin master' once ready"
Propchange: maven/sandbox/trunk/scripts/git/migrate-pom.sh
------------------------------------------------------------------------------
svn:executable = *
Added: maven/sandbox/trunk/scripts/git/migrate-skins.sh
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scripts/git/migrate-skins.sh?rev=1813838&view=auto
==============================================================================
--- maven/sandbox/trunk/scripts/git/migrate-skins.sh (added)
+++ maven/sandbox/trunk/scripts/git/migrate-skins.sh Mon Oct 30 23:11:48 2017
@@ -0,0 +1,78 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This script is used to migrate modules from SVN to Git,
+# or more precisely to split a svn2git repo to a module repo
+#!/bin/sh -e
+
+# svn2git repo to be split
+svn2git_repo='maven-skins'
+
+# prefixes for modules
+prefixes='maven-default-skin maven-fluido-skin'
+
+git_src_location="svn2git/${svn2git_repo}"
+
+if [ ! -d ${git_src_location} ]; then
+ # clone svn2git repo
+ echo "Cloning source git-svn ${svn2git_repo} ..."
+ git clone https://github.com/apache/${svn2git_repo}.git ${git_src_location}
+ # ensure we don't accidentally overwrite the source repository
+ chmod ugo-w ${git_src_location}
+ echo "Done!"
+fi
+
+for prefix in ${prefixes}; do
+ repo_name="${prefix}"
+ artifactId="${prefix}"
+ echo "Filtering ${prefix} to ${repo_name}..."
+ if [ ! -d ${repo_name}/.git ]; then
+ # create the initial repo
+ git clone --no-hardlinks ${git_src_location} ${repo_name}
+ pushd ${repo_name}
+
+ # make sure we don't push to the incorrect repo and also remove make sure
+ # we don't keep references to the remote repo
+ git remote rm origin
+
+ # rename trunk to master
+ git branch -m trunk master
+
+ # Remove everything except the path belonging to the module
+ git filter-branch --subdirectory-filter ${prefix}/
+
+ # remove unrelated tags
+ for tag in $(git tag); do
+ if [[ $tag != ${artifactId}* ]]; then
+ git tag -d ${tag} > /dev/null
+ fi
+ done
+
+ # cleanup and compaction
+ git for-each-ref --format="%(refname)" refs/original/ | xargs -n1 git update-ref -d
+ git reflog expire --expire=now --all
+ git repack -Ad
+ git gc --aggressive --prune=now
+
+ git remote add origin https://gitbox.apache.org/repos/asf/${repo_name}.git
+
+ popd
+ echo "Complete!"
+ else
+ echo "Already converted"
+ fi
+done
+
+echo "Launch 'git push --set-upstream origin master' once ready"
Propchange: maven/sandbox/trunk/scripts/git/migrate-skins.sh
------------------------------------------------------------------------------
svn:executable = *