================================================================================
  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.
================================================================================

Apache Tomcat re-uses code from a number of other Apache projects. There are
several reasons why depending on the binary releases of those projects is not
ideal. These include:
- potential conflicts if a web application ships with the same JAR
- a large JAR where Tomcat only depends on a small fraction


SVN
===

For sources hosted in svn the approach is to svn copy the classes to the Tomcat
source tree, modify them (always with a package rename, sometimes with
additional changes) and then keep them in sync with the original via regular svn
merges. This file keeps track of these copies to assist committers in keeping
them up to date.

BCEL
org.apache.tomcat.util.bcel is copied from:
/commons/proper/bcel/trunk/src/main/java/org/apache/bcel

DBCP
org.apache.tomcat.dbcp.dbcp2 is copied from:
/commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2
and
/commons/proper/dbcp/trunk/src/main/resources/org/apache/commons/dbcp2
org.apache.tomcat.dbcp.pool2 is copied from:
/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2

FileUpload
This used to be hosted in svn. All changes up to the point where FileUpload was
migrated to git have been merged.

Codec
org.apache.tomcat.util.codec is copied from:
/commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/
Note: Only classes required for Base64 encoding/decoding. The rest are removed.


GIT
===

Updates from Git are applied manually via patch files. Patch files are generated
using:
git diff <last SHA1>:<sub-tree> HEAD:<sub-tree> > temp.patch
The more recently merged SHA1 for the component below should be updated after
the patch file has been applied and committed

FileUpload
Sub-tree:
src/main/java/org/apache/commons/fileupload
The SHA1 ID for the most recent commit to be merged to Tomcat is:
86b11bbc1437a12fa64bc1484c4edc0bdd5a0966

Note: Tomcat's copy of fileupload also includes classes copied manually (rather
      than svn copied) from Commons IO.
