# CvsGraph configuration # # - Empty lines and whitespace are ignored. # # - Comments start with '#' and everything until # end of line is ignored. # # - Strings are C-style strings in which characters # may be escaped with '\' and written in octal # and hex escapes. Note that '\' must be escaped # if it is to be entered as a character. # # - Some strings are expanded with printf like # conversions which start with '%'. Not all # are applicable at all times, in which case they # will expand to nothing. # %c = cvsroot (with trailing '/') # %C = cvsroot (*without* trailing '/') # %m = module (with trailing '/') # %M = module (*without* trailing '/') # %f = filename without path # %F = filename without path and with ",v" stripped # %p = path part of filename (with trailing '/') # %r = number of revisions # %b = number of branches # %% = '%' # %R = the revision number (e.g. '1.2.4.4') # %P = previous revision number # %B = the branch number (e.g. '1.2.4') # %d = date of revision # %a = author of revision # %s = state of revision # %t = current tag of branch or revision # %0..%9 = command-line argument -0 .. -9 # %l = HTMLized log entry of the revision # NOTE: %l is obsolete. See %(%) and cvsgraph.conf(5) for # more details. # %L = log entry of revision # The log entry expansion takes an optional argument to # specify maximum length of the expansion like %L[25]. # %(...%) = HTMLize the string within the parenthesis. # # - Numbers may be entered as octal, decimal or # hex as in 0117, 79 and 0x4f respectively. # # - Fonts are numbered 0..4 (defined as in libgd) # 0 = tiny # 1 = small # 2 = medium (bold) # 3 = large # 4 = giant # # - Colors are a string like HTML type colors in # the form "#rrggbb" with parts written in hex # rr = red (00..ff) # gg = green (00-ff) # bb = blue (00-ff) # # Colors and some strings can also be defined as conditional # expressions so that revision/branch conditions can be repesented # visually: # color/string = [ "key" op "content" truecase falsecase ]; # Operator 'op' can be one of: # * =~ contained in regex # * =* contained in regex, case insensitive # * !~ not contained in regex # * !* not contained in regex, case insensitive # * < less than string, timestamp or rev/branch number # * <= less or equal than string, timestamp or rev/branch number # * > greater than string, timestamp or rev/branch number # * >= greater or equal than string, timestamp or rev/branch number # * == equal than string, timestamp or rev/branch number # * != not equal than string, timestamp or rev/branch number # The 'content' is one of: # * POSIX 1003.2 extended regular expression # * timestamp in UTC format: YYYY[.MM[.DD[.hh[.mm[.ss]]]]] # * revision or branch number # The 'key' can be one of: # * state State of the revision # * author The auther of a revision # * tag both revision- and branch-tags # * date date of the revision # * rev numeric revision- or branch-number # Both 'truecase' and 'falsecase' can be either a (color-)string, # as described above, or a new conditional expression. # Examples: # rev_bgcolor = [ "state" =~ "dead" "#e08080" "#f0f0f0" ]; # branch_color= [ "rev" < "2.1.2" "#000000" [ "tag" =~ "XyZ.*" "#123456" "#654321" ] ]; # rev_idtext = [ "state" == "dead" "Dead %R" "%R" ] # Note that not all colors can be changed on the fly. For example, # branch_color cannot be be changed based on revision identification # (i.e. author, date or state). The color_bg is always unique and # fixed (all expressions will evaluate to the false case). # Also, only string rev_text and rev_idtext can be conditional expressions # as other do not make much sense to be dynamic. # # - There are several reserved words besides of the # feature-keywords. These additional reserved words # expand to numerical values: # * false = 0 # * true = 1 # * not = -1 # * left = 0 # * center = 1 # * right = 2 # * gif = 0 # * png = 1 # * jpeg = 2 # * tiny = 0 # * small = 1 # * medium = 2 # * large = 3 # * giant = 4 # # - Booleans have three possible arguments: true, false # and not. `Not' means inverse of what it was (logical # negation) and is represented by the value -1. # For the configuration file that means that the default # value is negated. # # cvsroot # The *absolute* base directory where the # CVS/RCS repository can be found # cvsmodule # cvsroot = "/var/lib/cvsroot"; cvsmodule = ""; # Unused with CVSweb. # color_bg # The background color of the image # transparent_bg # Make color_bg the transparent color (only useful with PNG) color_bg = "#ffffff"; transparent_bg = false; # date_format # The strftime(3) format string for date and time date_format = "%Y-%m-%d %H:%M:%S"; # box_shadow # Add a shadow around the boxes # upside_down # Reverse the order of the revisions # left_right # Draw the image left to right instead of top down, # or right to left is upside_down is set simultaneously. # strip_untagged # Remove all untagged revisions except the first, last and tagged ones # strip_first_rev # Also remove the first revision if untagged # auto_stretch # Try to reformat the tree to minimize image size # use_ttf # Use TrueType fonts for text # anti_alias # Enable pretty TrueType anti-alias drawing # thick_lines # Draw all connector lines thicker (range: 1..11) box_shadow = true; upside_down = false; left_right = false; strip_untagged = false; strip_first_rev = false; #auto_stretch = true; # not yet stable. use_ttf = false; anti_alias = true; thick_lines = 1; # msg_color # Sets the error/warning message color # msg_font # msg_ttfont # msg_ttsize # Sets the error/warning message font msg_color = "#800000"; msg_font = medium; msg_ttfont = "/usr/share/fonts/bitstream-vera/VeraIt.ttf"; msg_ttsize = 11.0; # parse_logs # Enable the parsing of the *entire* ,v file to read the # log-entries between revisions. This is necessary for # the %L expansion to work, but slows down parsing by # a very large factor. You're warned. parse_logs = true; # tag_font # The font of the tag text # tag_color # The color of the tag text # tag_ignore # A extended regular expression to exclude certain tags from view. # See regex(7) for details on the format. # Note 1: tags matched in merge_from/merge_to are always displayed unless # tag_ignore_merge is set to true. # Note 2: normal string rules apply and special characters must be # escaped. # tag_ignore_merge # If set to true, allows tag_ignore to also hide merge_from and merge_to # tags. # tag_nocase # Ignore the case in tag_ignore expressions # tag_negate # Negate the matching criteria of tag_ignore. When true, only matching # tags will be shown. # Note: tags matched with merge_from/merge_to will still be displayed. tag_font = medium; tag_ttfont = "/usr/share/fonts/bitstream-vera/VeraIt.ttf"; tag_ttsize = 11.0; tag_color = "#007000"; #tag_ignore = "(test|alpha)_release"; #tag_ignore_merge = false; #tag_nocase = false; #tag_negate = false; # rev_font # rev_ttfont # rev_ttsize # Sets the font of the revision ID text # rev_hidenumber # If set to true no revision numbers will be printed in the graph. # rev_idtext # The revision ID text # rev_text_font # rev_text_ttfont # rev_text_ttsize # Sets the font of the descriptive text # rev_text_color # Sets the color of the descriptive text # rev_text # The descriptive text of a revision # rev_color # The color of the revision box and revision ID text. # rev_bgcolor # The background color of the revision box # rev_{min,max}line # Autostretch limits # rev_[ltrb]space # The interior spacing of the revision box text # rev_separator # Space between tags in a revision box # rev_maxtags # Sets the maximum number of tags i a revision box # #rev_hidenumber = false; rev_font = giant; rev_ttfont = "/usr/share/fonts/bitstream-vera/Vera.ttf"; rev_ttsize = 12.0; rev_idtext = [ "state" == "dead" "(Dead %R)" "%R" ]; #rev_color = "#000000"; rev_color = [ "rev" =~ "1\\.1\\.1\\..*" "#ff4040" "#000000" ]; #rev_bgcolor = "#f0f0f0"; rev_bgcolor = [ "state" =~ "dead" "#e0c0c0" [ "tag" =~ "BugFix" "#e0e0ff" [ "date" <= "2001.02.15.20.00.00" "#ffe0ff" "#f0f0f0" ] ] ]; rev_separator = 1; rev_minline = 15; rev_maxline = 75; rev_lspace = 5; rev_rspace = 5; rev_tspace = 3; rev_bspace = 3; #rev_text = "%d"; # or "%d\n%a, %s" for author and state too rev_text = [ "state" == "dead" "Died %d\nMaybe alive in other branch" "%d\n%a\n%L[80]" ]; rev_text_font = tiny; rev_text_ttfont = "/usr/share/fonts/bitstream-vera/VeraSe.ttf"; rev_text_ttsize = 9.0; rev_text_color = "#500020"; rev_maxtags = 25; # merge_color # The color of the line connecting merges # See note2 below. # merge_front # If true, draw the merge-lines on top if the image # merge_nocase # Ignore case in regular expressions # merge_from # A regex describing a tag that is used as the merge source # See note2 below. # merge_to # A regex describing a tag that is the target of the merge # See note2 below. # merge_findall # Try to match all merge_to targets possible. This can result in # multiple lines originating from one tag. # merge_arrows # Use arrows to point to the merge destination. Default is true. # merge_cvsnt # Use CVSNT's mergepoint registration for merges # merge_cvsnt_color # The color of the line connecting merges from/to registered # mergepoints. # arrow_width # arrow_length # Specify the size of the arrows. Default is 3 wide and 12 long. # # NOTE: # - The merge_from is an extended regular expression as described in # regex(7) and POSIX 1003.2 (see also Single Unix Specification at # http://www.opengroup.com). # - The merge_to is an extended regular expression with a twist. All # subexpressions from the merge_from are expanded into merge_to # using %[1-9] (in contrast to \[1-9] for backreferences). Care is # taken to escape the constructed expression. # - A '$' at the end of the merge_to expression can be important to # prevent 'near match' references. Normally, you want the destination # to be a good representation of the source. However, this depends # on how well you defined the tags in the first place. # # Example: # merge_from = "^f_(.*)"; # merge_to = "^t_%1$"; # tags: f_foo, f_bar, f_foobar, t_foo, t_bar # result: # f_foo -> "^t_foo$" -> t_foo # f_bar -> "^t_bar$" -> t_bar # f_foobar-> "^t_foobar$" -> # # NOTE 2: # It is now possible to use multiple regex combination to find merges # which cannot be expressed in one regex. # The triplet merge_{from,to,color} can be used multiple times to # define disjoined tag-definitions. # Example config: # merge_color = "#ff0000"; # merge_from = "(.*)"; # merge_to = "^pm-%1-to-(.*)"; # merge_color = "#00ff00"; # merge_from = "^closed-(.*)"; # merge_to = "^merged-%1-toMain"; # # This will match "rel-1-2-1" to "pm-rel-1-2-1-to-branch-1-2-2" with # bright red and match "closed-branch-1-2-2" to "merged-branch-1-2-2-toMain" # with bright green. # There is no limit on how many times you may repeat the triplet. # merge_color = "#a000a0"; merge_front = false; merge_nocase = false; merge_from = "^f_(.*)"; merge_to = "^t_%1$"; merge_findall = false; #merge_arrows = true; #arrow_width = 3; #arrow_length = 12; merge_cvsnt = true; merge_cvsnt_color = "#606000"; # branch_font # The font of the number and tags # branch_color # All branch element's color # branch_[lrtb]space # Interior spacing (margin) # branch_margin # Exterior spacing # branch_connect # Length of the vertical connector # branch_dupbox # Add the branch-tag also at the bottom/top of the trunk # branch_fold # Fold empty branches in one box to save space # branch_foldall # Put all empty branches in one box, even if they # were interspaced with branches with revisions. # branch_resort # Resort the branches by the number of revisions to save space # branch_subtree # Only show the branch denoted or all branches that sprout # from the denoted revision. The argument may be a symbolic # tag. This option you would normally want to set from the # command line with the -O option. branch_font = medium; branch_ttfont = "/usr/share/fonts/bitstream-vera/VeraBd.ttf"; branch_ttsize = 18.0; branch_tag_color= "#000080"; branch_tag_font = medium; branch_tag_ttfont = "/usr/share/fonts/bitstream-vera/VeraBI.ttf"; branch_tag_ttsize = 14.0; branch_color = "#0000c0"; branch_bgcolor = "#ffffc0"; branch_lspace = 5; branch_rspace = 5; branch_tspace = 3; branch_bspace = 3; branch_margin = 15; branch_connect = 8; branch_dupbox = false; branch_fold = true; branch_foldall = false; branch_resort = false; #branch_subtree = "1.2.4"; # title # The title string is expanded (see above for details) # title_[xy] # Position of title # title_font # The font # title_align # 0 = left # 1 = center # 2 = right # title_color title = "%m%F\nRevisions: %r, Branches: %b"; title_x = 10; title_y = 5; title_font = small; title_ttfont = "/usr/share/fonts/bitstream-vera/VeraSe.ttf"; title_ttsize = 10.0; title_align = left; title_color = "#800000"; # Margins of the image # Note: the title is outside the margin margin_top = 35; margin_bottom = 10; margin_left = 10; margin_right = 10; # Image format(s) # image_type # gif (0) = Create gif image # png (1) = Create png image # jpeg (2) = Create jpeg image # Image types are available if they can be found in # the gd library. Newer versions of gd do not have # gif anymore. CvsGraph will automatically generate # png images instead. # image_quality # The quality of a jpeg image (1..100) # image_compress # Set the compression of a PNG image (gd version >= 2.0.12). # Values range from -1 to 9 where: # - -1 default compression (usually 3) # - 0 no compression # - 1 lowest level compression # - ... ... # - 9 highest level of compression # image_interlace # Write interlaces PNG/JPEG images for progressive loading. image_type = png; image_quality = 75; image_compress = 3; image_interlace = true; # HTML image map generation # map_name # The name= attribute in ... # map_branch_href # map_branch_alt # map_rev_href # map_rev_alt # map_diff_href # map_diff_alt # map_merge_href # map_merge_alt # These are the href= and alt= attributes in the # tags of HTML. The strings are expanded (see above). map_name = "MyMapName"; map_branch_href = "href=\"?only_with_tag=%(%t%)%8\""; map_branch_alt = "alt=\"%0 %(%t%) (%B)\""; map_rev_href = "href=\"%F?rev=%R%8\""; map_rev_alt = "alt=\"%1 %(%t%) (%R)\""; map_diff_href = "href=\"%F.diff?r1=%P&r2=%R%8\""; map_diff_alt = "alt=\"%2 %P <-> %R\""; map_merge_href = "href=\"%F.diff?r1=%P&r2=%R%8\""; map_merge_alt = "alt=\"%2 %P <-> %R\"";