Implement blame output parser based on the porcelain format

Use 'git blame -p', which is designed for machine consumption.

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Support for git blame options move (-M), copy (-C) and whitespace (-w)

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Use cache of the log to retrieve commits which appear only in the blame output

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Create blame popup menu dynamically, support multiple parents

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Create log only for blamed commits

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Exclude sourcecode for debugging encoding issues for productive builds

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Remove obsolete sourcecode

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Fix wrong function parameter name

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Use a mapping of the file line to the log index instead of an ID

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Use line to log index mapping only when necessary

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Display only line numbers which correspond to a line in the blame output

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Extract getter for parent hashes

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Don't show "diff", "compare with previous" and "revert" when no parent is available

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Show separator only when preceding menu entries exist

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Add menu entry blame previous for TortoiseGitBlame

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Building of command lines are independent between commands

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Remove unsupported diff command

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Show only relevant parents as menu entries A parent is relevant if it contains changes which are part of the blame output.

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Create commands based on the selected parents

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Add option 'Show complete log'

Signed-off-by: Martin Strauß <MStrauss@MuellerBBM-vas.de>
Signed-off-by: Sven Strickroth <email@cs-ware.de>