This series cleans up populate_value() in ref-filter, by moving out the parsing part of atoms to separate parsing functions. This ensures that parsing is only done once and also improves the modularity of the code. v1: http://thread.gmane.org/gmane.comp.version-control.git/281180 v2: http://thread.gmane.org/gmane.comp.version-control.git/282563 Changes in this version: * Change variable name in 'used_atom' from 'str' to 'name'. * Split introduction of 'used_atom' into [3/15], [4/15] and [5/15]. * In [8/15] parse the color in color_atom_parser() itself and pass the value to 'v->s' in populate_value(). * Introduce [11/15] which changes 'width' in align_atom_parser() from int to unsigned int. * Fix error in code in align_atom_parser(). and split it into [9/15], [10/15], [11/15] and [12/15]. * Change 'align' atom tests to a table form. * Change 'no_lines' to 'nlines' in used_atom. * Switch to starts_with()/strcmp() instead of match_atom_name() as required. * Changes in commit message and comments. * Improve readability of code. Eric suggested that I make match_atom_name() not return a value [0]. I haven't done that as we use match_atom_name() in [14/15] for matching 'subject' and 'body' in contents_atom_parser() and although Eric suggested I use strcmp() instead, this would not work as we need to check for derefernced 'subject' and 'body' atoms. [0]: http://article.gmane.org/gmane.comp.version-control.git/282701 Karthik Nayak (15): strbuf: introduce strbuf_split_str_omit_term() ref-filter: use strbuf_split_str_omit_term() ref-filter: bump 'used_atom' and related code to the top ref-filter: introduce struct used_atom ref-filter: introduce parsing functions for each valid atom ref-fitler: bump match_atom() name to the top ref-filter: skip deref specifier in match_atom_name() ref-filter: introduce color_atom_parser() ref-filter: introduce align_atom_parser() ref-filter: introduce parse_align_position() ref-filter: convert variable 'width' to an unsigned int ref-filter: align: introduce long-form syntax ref-filter: introduce remote_ref_atom_parser() ref-filter: introduce contents_atom_parser() ref-filter: introduce objectname_atom_parser() Documentation/git-for-each-ref.txt | 20 +- ref-filter.c | 455 ++++++++++++++++++++++--------------- strbuf.c | 7 +- strbuf.h | 25 +- t/t6302-for-each-ref-filter.sh | 41 ++++ 5 files changed, 349 insertions(+), 199 deletions(-) -- 2.6.4 -- 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