diff --git a/rev-tree.c b/rev-tree.c index 7669c5ed18239d9306a77dac3ecebc36f4e1adcd..21598d61703f4c1520c243aa1eb92d0f8c1197d3 100644 --- a/rev-tree.c +++ b/rev-tree.c @@ -14,6 +14,7 @@ #define SEEN 0x10000 static int show_edges = 0; +static int basemask = 0; struct parent { struct revision *parent; @@ -180,6 +181,9 @@ static int interesting(struct revision *rev) } return 0; } + if (mask & basemask) + return 0; + return 1; } @@ -214,6 +218,10 @@ int main(int argc, char **argv) continue; } + if (arg[0] == '^') { + arg++; + basemask |= 1<= MAX_COMMITS || get_sha1_hex(arg, sha1[nr])) usage("rev-tree [--edges] [--cache ] []"); parse_commit(sha1[nr]);