mozilla/mozjpeg — pull request #102 by pornel (2014-09-08 00:08:01+00:00)
Title: Libjpeg-turbo merge

This adds 3 things:

1. Ability to fetch new libjpeg-turbo commits from SVN
2. Full libjpeg-turbo + idg libjpeg history
3. Merges changes from libjpeg-turbo up to 1.3.90 release

## git-svn

Tracking of changes from libjpeg-turbo SVN will work like this:

```sh
git checkout master
git svn fetch # adds new commits to the libjpeg-turbo branch
git push origin libjpeg-turbo # keeps the commits, so they won't be unnecessarily re-imported again
git merge libjpeg-turbo # adds upstream changes to the project
```

### One-time-ever setup

:warning: There is one-time setup needed before it'll work. You need to fetch the initial libjpeg-turbo history and create it in the mozjpeg repo:

```sh
git fetch https://github.com/pornel/mozjpeg.git libjpeg-turbo:libjpeg-turbo
git push origin libjpeg-turbo
```

If you want to test it without modifying the mozjpeg repo, then try it out on a clone of https://github.com/pornel/mozjpeg

### One-time-per-fresh-clone setup

A newly cloned repository doesn't track SVN by default (git-svn settings are not "cloneable" by design). To enable it, run:

./git-init-svn.sh

This script will configure git-svn. It also adds a "graft":

```sh
echo > .git/info/grafts "72b66f9c77b3e4ae363b21e48145f635cec0b193 540789427ccae8e9e778151cbc16ab8ee88ac6a8"
```

which tells git that the initial mozjpeg commit has been taken from libjpeg-turbo SVN rev 1093, so that git can track the whole history accurately. This will avoid unnecessary merge conflicts and makes `git blame -wC cjpeg.c` awesome.

## Full libjpeg-turbo history

git log --oneline --graph libjpeg-turbo

## jpeg-turbo 1.3.90

I've split up merges into parts. One merge looks massive due to rewrite of (authgenerated) java docs :(

libjpeg-turbo also dropped support for crappy pre-ANSI C compilers and MSDOS, so there's a bunch of changes related to the useless `JPP`, `SIZEOF`, etc.

* https://github.com/pornel/mozjpeg/compare/a7eb278...662bf6b?w=1
* https://github.com/pornel/mozjpeg/compare/564022e...71539b3?w=1
* https://github.com/pornel/mozjpeg/compare/5d2d1d4...f9d1fcd?w=1

CLI git generates much more manageable diff and history than github:

```sh
git log --oneline -w --stat c0756e6119...662bf6ba7b7
```