Skip to end of metadata
Go to start of metadata

This is based on this example from SpringSource, and explains how I collaborated with Apache Tika on issue TIKA-849:

The critical difference is that Apache Tika Git is generated from SVN, and has a 'trunk' branch instead of a 'master'.

  1. We had already forked the project on GitHub (clicked the Fork button)
  2. Cloned the fork locally ($ git clone --recursive
  3. cd into your local repository ($ cd tika)
  4. Link with the upstream repository ($ git remote add upstream git:// Note that git:// might be a better bet as the GitHub one is only synchronised daily.
  5. Create a branch for your work ($ git checkout -b my-work). Choose a name more appropriate to the work you’re doing than “my-work”. (I chose 'ibooks-support')
  6. Develop on your branch (not on trunk!)
  7. Commit changes to the branch ($ git add . ; git commit -m 'commit message')
  8. Sync up with upstream to keep your working copy’s master branch and issue branch up to date: ($ git fetch upstream; git checkout trunk; git rebase upstream/trunk; git checkout my-work; git rebase trunk)
  9. Repeat steps 6-8 until your work is complete
  10. Push your changes to GitHub ($ git push origin my-work)

Avoid using git pull without due care, or you'll pull changes from the wrong branch into your current branch.

Apache Tika doesn't accept pull requests, but rather accepts patches via JIRA. I therefore made a patch and submitted it.


The changes were accepted with minor modifications. This meant that re-syncing with trunk didn't really work due to conflicts. i.e.

all failed and I ended up rather clumsily discarding my own changes and overwriting with the versions from HEAD on trunk.

There may be better ways to deal with this case - any suggestions?

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.