Traditionally any new option to rev-list must be accompanied
with a matching change to rev-parse. I do not know offhand how
strictly we should adhere to this rule these days; it depends on
how people's script use rev-list.
Before revision.c "revision walking library" was done, many
Porcelain-ish commands were implemented as a pipeline that plugs
rev-list output to diff-tree. These shell scripts took
parameters from the command line, and rev-parse was used to
separate parameters (both "flags" that begin with a dash and
"non-flags" that don't) that should be given to rev-list and the
other parameters (meant to be used by the shell script itself
but often are given straight to the downstream diff-tree). The
rev-parse command has even the --sq option to facilitate this
usage:
rev_opts=`git rev-parse --sq --default=HEAD --revs "$@"`
diff_opts=`git rev-parse --sq --no-revs "$@"`
eval "git-rev-list $rev_opts" |
eval "git-diff-tree --stdin $diff_opts"
so that it can even pass -S'I want to find this string' to diff-tree
without worrying about spaces.
I personally feel that part of rev-parse outlived its usefulness
(--flags, --no-flags, --revs-only, and --no-revs). It was a
useful hack, and served us well, but it was a hack.
In that sense it probably is Ok to leave it unmaintained, but it
might be a good idea to plan deprecating it, given that we have
been talking about UI warts. If there are pipelines that can be
easily formed (with the help of rev-parse "parameter sifter"),
but whose functionality cannot be easily emulated with the
current crop of Porcelain-ish, we should work on polishing the
Porcelain-ish to make the pipelines unnecessary.
The remaining parts of rev-parse (the most important of which is
the --verify option) should probably stay. The original
question of "list all the branches" can be done with:
git rev-parse --symbolic --branches
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author] Next message: [thread] [date] [author]
Messages in current thread:
Re: [PATCH] revision traversal: Add --refs=<pattern> option, Junio C Hamano, (Mon Nov 27, 4:59 pm)