# Git and SVN

All about Git and SVN

# Patching with Git

### Creating a Patch

#### Patch for Working Copy (Not Committed)

`<span class="pln">git diff </span><span class="pun">></span><span class="pln"> patch</span><span class="pun">.</span><span class="pln">diff</span>`

#### Patch from one commit to another

`<span class="pln">git diff </span><span class="pun"><</span><span class="kwd">from</span><span class="pun">-</span><span class="pln">commit</span><span class="pun">-</span><span class="pln">hash</span><span class="pun">></span> <span class="pun"><</span><span class="pln">to</span><span class="pun">-</span><span class="pln">commit</span><span class="pun">-</span><span class="pln">hash</span><span class="pun">></span> <span class="pun">></span><span class="pln"> patch</span><span class="pun">.</span><span class="pln">diff</span>`

### Patching a Project Generated from `git diff`

Applying a Patch: `<span class="pln">git apply patch</span><span class="pun">.</span><span class="pln">diff</span>`

### Solution for Whitespace Errors

`<span class="pln">git apply </span><span class="pun">--</span><span class="pln">ignore</span><span class="pun">-</span><span class="pln">space</span><span class="pun">-</span><span class="pln">change </span><span class="pun">--</span><span class="pln">ignore</span><span class="pun">-</span><span class="pln">whitespace patch</span><span class="pun">.</span><span class="pln">diff</span>`

Make sure that you removed whitespaces from both patch file and from the files you are going to patch.

### References:

1. [Whitespace errors](http://stackoverflow.com/questions/4770177/git-patch-does-not-apply)
2. [Applying git patch](http://www.thegeekstuff.com/2014/03/git-patch-create-and-apply/)

# Solving Cryptic SVN Errors

### SVN File already exists error

```
svn update path/ --accept=mine-full
```