{"id":22220825,"url":"https://github.com/nokia/git-changelog-generator","last_synced_at":"2025-07-27T15:33:13.594Z","repository":{"id":57433211,"uuid":"124205224","full_name":"nokia/git-changelog-generator","owner":"nokia","description":"Git Changelog Generator","archived":false,"fork":false,"pushed_at":"2020-08-07T11:47:48.000Z","size":85,"stargazers_count":14,"open_issues_count":10,"forks_count":5,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-17T13:51:14.543Z","etag":null,"topics":["changelog","debian-packaging","git","python","python-script","rpm-packages"],"latest_commit_sha":null,"homepage":"https://pypi.python.org/pypi/gcg","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nokia.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-07T08:37:25.000Z","updated_at":"2024-08-11T23:27:59.000Z","dependencies_parsed_at":"2022-08-28T04:51:00.301Z","dependency_job_id":null,"html_url":"https://github.com/nokia/git-changelog-generator","commit_stats":null,"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nokia%2Fgit-changelog-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nokia%2Fgit-changelog-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nokia%2Fgit-changelog-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nokia%2Fgit-changelog-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nokia","download_url":"https://codeload.github.com/nokia/git-changelog-generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227817160,"owners_count":17824199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["changelog","debian-packaging","git","python","python-script","rpm-packages"],"created_at":"2024-12-02T23:10:22.427Z","updated_at":"2024-12-02T23:10:23.040Z","avatar_url":"https://github.com/nokia.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"README\n======\n\n**GCG** stands for *Git Changelog Generator*.\n\n\nRationale\n---------\n\nKeeping a reasonable changelog is an invaluable asset for everyone who tries\nto track progress of a project or figure out whether their issue\nhas or has not be fixed.\n\nIn Linux world, such changelogs are often embedded into packages, for\nexample RPM has an optional section in the *spec* file (``%changelog``)\nand Debian versioning goes even further - it explicitly **depends**\non a proper version information inside the changelog to build\nand maintain the package(s).\n\nThere are good reasons why the log is ideally maintained manually,\nyou can read all about it at https://keepachangelog.com/en/\n\nThat said, it's not all black and white. A couple of questions:\n\n- what if you spend a lot of work making sure your commit descriptions\n  are telling the story; should this work be disregarded and repeated\n  in the changelog?\n- what if the reality kicks in, project members keep forgetting to update\n  the changelog (or it is \"yet another menial task\")?\n- what if you need to maintain the log in multiple formats?\n\nIf advice from keepchangelog.com doesn't address your questions,\nyou don't want to tie yourself to a specific Git manager (like  Github,\nGitlab, Bitbucket) and as a project you're committed to maintain sensible\nGit commit descriptions - gcg might be just the fit for you.\n\nReleases\n========\n\n\nAt this point, *gcg* official packages are created and maintained only for\nPython; they're available via PyPI index: https://pypi.org/project/gcg\n\nThat said, unofficial packages for most common distribution formats can\nbe obtained from the following repositories:\n\n* RPM: https://bintray.com/weakcamel/yum-oss\n* DEB: https://bintray.com/weakcamel/deb-oss\n\nTo use the DEB packages from those repositories, you need to install\nthe [Bintray GPG key](https://bintray.com/user/downloadSubjectPublicKey?username=weakcamel);\notherwise your `apt-get update` will fail.\n\nFor example::\n\n    # either of:\n    curl -qL https://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key add -\n\n    curl -qL https://bintray.com/user/downloadSubjectPublicKey?username=weakcamel | sudo apt-key add -\n\n\nPIP\n---\n\nOnly tagged packages are uploaded to https://pypi.org index,\ntest versions will be made available under\nhttps://test.pypi.org/manage/project/gcg/releases/\n\nTravisCI builds try to ensure the version (``version.txt``) is unique for\neach CI build by adding ``.dev\u003cTRAVIS_BUILD_NUMBER\u003e`` suffix\nfor development versions of the package.\n\n.. tip::\n\n    See also: https://packaging.python.org/tutorials/installing-packages/\n\n\n\n\n\n\nBuild\n=====\n\nPrerequisites:\n--------------\n\nBase:\n\n- python2.7\n- pip\n- virtualenv\n\nTo build RPMs:\n\n- rpmbuild\n\nTo build DEB packages you need to set up Debian toolchain, which is not\nin scope of this README.\n\nBuild\n-----\n\nWe recommend you build this package using ``virtualenv``.\n\nTo set it up, run for example:\n\n::\n\n    virtualenv venv\n    source venv/bin/activate\n\nTo test \u0026 build a binary Python package, use:\n\n.. code:: bash\n\n    python setup.py test bdist\n\nRPM:\n\n.. code:: bash\n\n    python setup.py test bdist_rpm\n\nDEB:\n\n.. code:: bash\n\n    python setup.py --command-packages=stdeb.command bdist_deb\n\n\nUsage\n=====\n\n\nTo see available options, run as:\n\n.. code:: bash\n\n    $ gcg --help\n\nExisting templates\n------------------\n\nThe ``gcg`` module of the application comes with some default Jinja2\ntemplates to render the changelog information.\n\nCurrent implementation does not yet support using non-standard output\ntemplates. The anticipated design would to be pass a template directory\nas a command-line argument, that's still to be determined though.\n\nDEB template\n~~~~~~~~~~~~\n\nBased on https://www.debian.org/doc/debian-policy/#s-dpkgchangelog\n\nRPM template\n~~~~~~~~~~~~\n\nBased on one of allowed formats listed at\nhttps://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Changelogs\n\n\nLicense\n-------\n\nThis project is licensed under the BSD-3-Clause license - see the `LICENSE \u003chttps://github.com/nokia/git-changelog-generator/blob/master/LICENSE\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnokia%2Fgit-changelog-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnokia%2Fgit-changelog-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnokia%2Fgit-changelog-generator/lists"}