jpaugh@xxxxxx writes: > Hello. > I want to do a certain arbitrary operation for each revision between > where I am now and the tip of the branch. > > v1.0-a master > \ \ > o---o---o---o---o---o---o > | > I am here That is the problem X. > Is it possible to specify revisions in the future? The gitrevisions man > page implies otherwise. Alternatively, is there a way to find out the > number of commits between two revs---assuming one is an ancestor of the > other? That is your idea of a solution, Y. You have XY problem. You need to do X, and you think you can use Y to do X, so you ask about how to do Y. If you want to list all revsions between v1.0-a and master, use git rev-list v1.0a..master or git rev-list --ancestry-path v1.0a..master depending on definition of _between_ (see "History simplification" in git-log(1) manpage for description of `--ancestry-path` option). > > I've been using the following to do what I want: > > ref=master; \ > for i in {5..1}; do \ > echo; \ > git log --stat $ref~$i^\!; \ > read -p 'Full diff? '; \ > echo; \ > if [[ $REPLY == 'y' ]]; then \ > git diff $ref~$i^\!; \ > fi; \ > done; > > which lists the log and diffstat for last 5 commits between master and > where I am (e.g. an older tag/branch) with an optional full diff. I know > implementing revision specifiers to the future is nontrivial. (I > realized that when I considered non-linear histories.) In this case, > I've distilled it to the point that all I need is the number of commits > between two revs. Can this be had without manually inspecting git log? > Or, is there a better way to get detailed diffs like this? -- Jakub Narebski -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html