Commit 364d800b by Ben Straub

Move flag dependencies into docs and code.

parent 4fd847bb
......@@ -33,13 +33,13 @@ typedef enum {
* NOT IMPLEMENTED. */
GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES = (1<<1),
/** Track lines that have been copied from another file that exists in the
* same commit (like `git blame -CC`).
* same commit (like `git blame -CC`). Implies SAME_FILE.
* NOT IMPLEMENTED. */
GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES = (1<<1 | 1<<2),
GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES = (1<<2),
/** Track lines that have been copied from another file that exists in *any*
* commit (like `git blame -CCC`).
* commit (like `git blame -CCC`). Implies SAME_COMMIT_COPIES.
* NOT IMPLEMENTED. */
GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES = (1<<1 | 1<<2 | 1<<3),
GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES = (1<<3),
} git_blame_flag_t;
/**
......
......@@ -184,6 +184,14 @@ static void normalize_options(
/* min_line 0 really means 1 */
if (!out->min_line) out->min_line = 1;
/* max_line 0 really means N, but we don't know N yet */
/* Fix up option implications */
if (out->flags & GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES)
out->flags |= GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES;
if (out->flags & GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES)
out->flags |= GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES;
if (out->flags & GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES)
out->flags |= GIT_BLAME_TRACK_COPIES_SAME_FILE;
}
static git_blame_hunk *split_hunk_in_vector(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment