This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

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

Getting started with Git

Important: We are now fully migrated to a native git server solution. All procedures around using git is therefore slightly different, since there is no longer subversion synchronization process. To clone the new git repository, you can use

$ git clone https://github.com/apache/trafficserver.git

To work on a branch in git

$ git checkout -b 7.1.x origin/7.1.x

Committing

Normal git commit methodology applies: You can develop in your local repo, push up etc. We highly recommend that everyone tries to push commits such that the tree is in a buildable state after each commit. Having the tree buildable throughout all commits in the tree helps with running git bisect. For example, if you have a number of commits in a local repo, and are unsure which one of those commits actually build, you should consider squashing (git rebase -i) these commits into one or a few commits.

Before pushing upstream, you should also make it a habit to pull or fetch from the upstream remote before pushing.

Commit messages should follow the standard formatting described on the CommitPolicies page.

Cherry-Pick

When some commits in master branch are needed to be back-ported, cherry-pick and send Pull-Request.

  1. Make sure the commits are already on master
  2. Cherry-Pick with "-x"

    $ git cherry-pick -x <COMMIT>
  3. Uncomment the conflics in commit message if there
  4. Send a Pull-Request
  5. Add "Backport" label

Example:

commit 90ad8484773095459f81242ec1ed61822da7142b
Author: Leif Hedstrom <zwoop@apache.org>
Date:   Fri Dec 9 08:08:31 2016 -0700

    Update the RAT exceptions

    (cherry picked from commit 7487ff750cd214ee956557273c8059b9b3580983)

     Conflicts:
            ci/rat-regex.txt

More details

More details for using Git and Subversion (particularly here at the ASF), see the following links:

Some older docs available at

  • No labels