{"id":22980973,"url":"https://github.com/rubyworks/vclog","last_synced_at":"2026-02-26T02:43:01.881Z","repository":{"id":638648,"uuid":"280204","full_name":"rubyworks/vclog","owner":"rubyworks","description":"Cross-SCM Changelog Generator","archived":false,"fork":false,"pushed_at":"2013-03-03T18:41:28.000Z","size":1774,"stargazers_count":11,"open_issues_count":9,"forks_count":6,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-19T17:55:37.501Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubyworks.github.com/vclog","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubyworks.png","metadata":{"files":{"readme":"README.md","changelog":"History.md","contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-08-17T18:41:47.000Z","updated_at":"2013-10-20T05:52:10.000Z","dependencies_parsed_at":"2022-07-07T13:40:45.476Z","dependency_job_id":null,"html_url":"https://github.com/rubyworks/vclog","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/rubyworks/vclog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Fvclog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Fvclog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Fvclog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Fvclog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubyworks","download_url":"https://codeload.github.com/rubyworks/vclog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Fvclog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29848634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T22:37:40.667Z","status":"online","status_checked_at":"2026-02-26T02:00:06.774Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-15T01:46:21.874Z","updated_at":"2026-02-26T02:43:01.865Z","avatar_url":"https://github.com/rubyworks.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VCLog\n\n[Website](http://rubyworks.github.com/vclog) /\n[Report Issue](http://github.com/rubyworks/vclog/issues) /\n[Source Code](http://github.com/rubyworks/vclog) \u0026nbsp; \u0026nbsp;\n[![Build Status](https://secure.travis-ci.org/rubyworks/vclog.png)](http://travis-ci.org/rubyworks/vclog)\n\n**VCLog is a versatile and customizable cross-VCS/SCM changelog and release history generator.**\n\n## Supported Systems\n\nVCLog is a multi-platform VCS logging tool.\nIt currently supports the following Version Control Systems:\n\n* \u003ca href=\"http://git-scm.com/\"\u003eGit\u003c/a\u003e\n* \u003ca href=\"http://mercurial.selenic.com/\"\u003eMercurial\u003c/a\u003e\n* \u003ca href=\"http://subversion.apache.org/\"\u003eSubversion\u003c/a\u003e\n\nSubversion support is limited however. See Limitations noted below.\n\n\n## Instructions\n\n### Creating Changelogs\n\nThe default output is an ANSI colored GNU-like changelog.\nFrom a repository's root directory try:\n\n    $ vclog\n\nThe is the same as specifying 'changelog' or 'log'.\n\n    $ vclog log\n\nTo generate an a different format use -f:\n\n    $ vclog -f xml\n\n### Creating Release Histories\n\nTo get a release history specify `-r`, `--release` or `--history` option.\n\n    $ vclog -r\n\nAgain the default format is an ANSI colored GNU-like text style.\n\nUnlike change logs, release histories group changes by tags. The tag\nmessage is used as the release note. If the underlying SCM doesn't\nsupport tag messages than the message of the first commit prior to\nthe tag is used.\n\nSee 'vclog help' for more options.\n\n### Bumping Versions\n\nVCLog can also be used to intelligently bump versions. To see the current\ntag version:\n\n    $ vclog-version\n    1.1.0\n\nTo see the next reasonable version based on current changes:\n\n    $ vclog-bump\n    1.2.0\n\nVCLog can determine the appropriate version based on commit level. Any\ncommit with a level greater than 1 will bump the major number, while any\ncommit with a level of 0 or 1 will bump the minor number. All lower\nlevel only bump the patch level.\n\n### Writing Heuristics\n\nVCLog can be configured to support custom log heuristics to suite the work flow\nof any project. It is recommended that configurations be placed in a project's\n`etc/vclog.rb` file. But `config/vclog.rb` and simply `.vclog` or `vclog.rb`\nalso work.\n\nWithin this file rules are defined via the #on method. For example,\n\n    on /updated? (README|VERSION|MANIFEST)/ do |commit|\n      commit.label = \"Adminstrative Changes\"\n      commit.level = -3\n    end\n\nTo make things easier we can setup commit types. Types make it easier\nto categorize commits, assigning them labels and levels base on the \ntype name. Use #type in the rules to specify the level and label of \na commit type.\n\n    type :admin,  -2, \"Administrave Changes\"\n\n    on /updated? (README|VERSION|MANIFEST)/ do |commit|\n      commit.type = :admin\n    end\n\nThese rules can also \"massage\" the commit message.\n\n    on /\\Aadmin:/ do |commit, matchdata|\n      commit.type    = :admin\n      commit.message = matchdata.post_match\n    end\n\nLastly, we can customize the colorization of the certain formats via #colors\nmethod.\n\n    colors :blue, :cyan, :green, :yellow, :red\n\nThe colors are taken in order from least importance to greatest importance.\n\n\n## Limitations\n\n### Subversion\n\nBecause Subversion is a centralized version control system, it contacts\nthe server every time 'svn log' is run. For this reason, having vclog\ngenerate a release history is likely to fail since it must run 'svn log'\nfor each tag. Any repository with more than a few tags may be denied\naccess by the server for making too many rapid requests. I have no\nidea how to remedy this issue. If you have any ideas please let me know.\n\n\n## Copyrights\n\nVCLog (http://rubyworks.github.com/vclog)\n\nCopyright \u0026copy; 2008 Rubyworks. All rights reserved.\n\nVCLog is modifiable and redistributable in accordance with the terms of\nthe *BSD-2-Clause* license.\n\nSee License.txt for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubyworks%2Fvclog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubyworks%2Fvclog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubyworks%2Fvclog/lists"}