Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

The migration was tested by performing the migration commands below against markt-asf/tomcat rather than apache/tomcat.

The commands to perform the migration are as follows:

# Make svn read only
# Confirm all commits have replicated to git
# Turn off the svn / git mirror
# Switch to 'github as master'
 
# Clone the current trunk
git clone https://github.com/apache/tomcat.git tomcat
cd tomcat
# Only necessary for test repo
git remote set-url origin https://github.com/markt-asf/tomcat.git
 
# Clean up the 9.0.x tags
git tag -d `git tag -l JDBC* | grep -E '.'`
git tag -d `git tag -l TOMCAT_7* | grep -E '.'`
git tag -d `git tag -l TOMCAT_8* | grep -E '.'`
git tag -d `git tag -l TOMCAT_N* | grep -E '.'`
git tag -d TOMCAT_9_0_0_m27
git tag -d TONCAT_9_0_0_M23
git push origin :JDBC_POOL_1_0_1 :JDBC_POOL_1_0_2 :JDBC_POOL_1_0_3 :JDBC_POOL_1_0_4 :JDBC_POOL_1_0_5 :JDBC_POOL_1_0_6 :JDBC_POOL_1_0_7 :JDBC_POOL_1_0_8
git push origin :JDBC_POOL_1_0_8_4 :JDBC_POOL_1_0_8_5 :JDBC_POOL_1_0_9_0 :JDBC_POOL_1_0_9_1 :JDBC_POOL_1_0_9_2 :JDBC_POOL_1_0_9_3 :JDBC_POOL_1_1_0_0 :JDBC_POOL_1_1_0_1
git push origin :TOMCAT_7_0_42
git push origin :TOMCAT_8_0_0

# :TOMCAT_8_0_0_RC1 :TOMCAT_8_0_0_RC2 :TOMCAT_8_0_0_RC3 :TOMCAT_8_0_0_RC4 :TOMCAT_8_0_0_RC5 :TOMCAT_8_0_0_RC6 :TOMCAT_8_0_0_RC7 :TOMCAT_8_0_0_RC8 :TOMCAT_8_0_0_RC9 :TOMCAT_8_0_0_RC10

git push origin :TOMCAT_NATIVE_1_1_33 :TOMCAT_9_0_0_m27 :TONCAT_9_0_0_M23 
 
# Add Tomcat 8.5x
git remote add tomcat85 https://github.com/apache/tomcat85.git
git fetch tomcat85
git fetch tomcat85 --tags
git tag -d `git tag -l TOMCAT_8_0* | grep -E '.'`
git checkout --orphan tomcat85
git rm -rf .
git merge tomcat85/trunk
git remote rm tomcat85
git push -u origin tomcat85
git push --tags

 

# Add Tomcat 8.0.x

git remote add tomcat80 https://github.com/apache/tomcat80.git
git fetch tomcat80
git fetch tomcat80 --tags
git tag -f TOMAT_8_0_30
git checkout --orphan tomcat80
git rm -rf .
git merge tomcat80/trunk
git remote rm tomcat80
git push -u origin tomcat80
git push --tags

 

# Add Tomcat 7.0.x

git remote add tomcat70 https://github.com/apache/tomcat70.git
git fetch tomcat70
git fetch tomcat70 --tags
git checkout --orphan tomcat70
git rm -rf .
git merge tomcat70/trunk
git remote rm tomcat70
git push -u origin tomcat70
git push --tags

Issues

svn:external for native

Solution 1: Move native to git and use a sub-module

Solution 2: ???

Format of commit messages

Need to confirm what this is with infra

Old github repos

Solution 1: Make them read-only

Developer process

Solution 1: Document options (multiple clones, git worktree, etc.) or better strill find an on-line reference.

Update docs

Solution 1: Update post migration and include in next release

Solution 2: As 1 but publish immediately.

Update website

Solution 1: Update svn.html post migration (any maybe rename)

Resolved Issues

  1. Review board. Tomcat gas been removed from (technically hidden in) the ASF ReviewBoard instance

  2. Config diffs in migration guide. Use gitweb. e.g.: 
    https://gitbox.apache.org/repos/asf?p=camel.git;a=blobdiff;f=pom.xml;hb=camel-2.20.1;hpb=camel-2.19.0
  3. Branch names. master, tc8.5, tc8.0, tc7.0 etc
  4. PRs. Those against apache/tomcat will remain. Currently no other open PRs. Any opened between now and migration will be closed and asked to be made against apache/tomcat.
  5. Merge strategy. Commit to master then cherry-pick to branches for older versions as required.
  6. CI Systems. Leave them pointing at svn. Migrate to git. Once we are happy with the git repo update the CI systems to use it.

 

  • No labels