This patch set adds the ability to ignore a set of commits and their
changes when blaming.  This can be used to ignore a commit deemed 'not
interesting,' such as reformatting.

v2 -> v3
v2: https://public-inbox.org/git/20190117202919.157326-1-b...@google.com/
- SHA-1 -> "object name", and fixed other comments
- Changed error string for oidset_parse_file()
- Adjusted existing fsck tests to handle those string changes
- Return hash of all zeros for lines we know we cannot identify
- Allow repeated options for blame.ignoreRevsFile and
  --ignore-revs-file.  An empty file name resets the list.  Config
  options are parsed before the command line options.
- Rebased to master
- Added regression tests

v1 -> v2
v1: https://public-inbox.org/git/20190107213013.231514-1-b...@google.com/
- extracted the skiplist from fsck to avoid duplicating code
- overhauled the interface and options
- split out markIgnoredFiles
- handled merges

Barret Rhoden (5):
  Move init_skiplist() outside of fsck
  blame: use a helper function in blame_chunk()
  blame: add the ability to ignore commits and their changes
  blame: add a config option to mark ignored lines
  blame: add tests for ignoring revisions

 Documentation/blame-options.txt |  16 +++
 Documentation/config/blame.txt  |  11 ++
 Documentation/git-blame.txt     |   1 +
 blame.c                         | 115 ++++++++++++++----
 blame.h                         |   4 +
 builtin/blame.c                 |  51 ++++++++
 fsck.c                          |  37 +-----
 oidset.c                        |  35 ++++++
 oidset.h                        |   8 ++
 t/t5504-fetch-receive-strict.sh |  14 +--
 t/t8013-blame-ignore-revs.sh    | 199 ++++++++++++++++++++++++++++++++
 11 files changed, 423 insertions(+), 68 deletions(-)
 create mode 100755 t/t8013-blame-ignore-revs.sh

-- 
2.21.0.rc0.258.g878e2cd30e-goog

Reply via email to