{
    "content": [
        {
            "type": "text",
            "text": "# debcommit(1) (man)\n\n**Summary:** debcommit - commit changes to a package\n\n**Synopsis:** debcommit [options] [--all | files to commit]\n\n## Flags\n\n| Flag | Long | Arg | Description |\n|------|------|-----|-------------|\n| -c | --changelog | — | Specify an alternate location for the changelog. By default debian/changelog is used. |\n| -r | --release | — | Commit a release of the package. The version number is determined from debian/changelog, and is used to tag the package  |\n| -R | --release-use-changelog | — | When used in conjunction with --release, if there are uncommitted changes to the changelog then derive the commit messag |\n| -m | --message | — | Specify a commit message to use. Useful if the program cannot determine a commit message on its own based on debian/chan |\n| -n | --noact | — | Do not actually do anything, but do print the commands that would be run. |\n| -d | --diff | — | Instead of committing, do print the diff of what would have been committed if this option were not given. A typical usag |\n| -C | --confirm | — | Display the generated commit message and ask for confirmation before committing it. It is also possible to edit the mess |\n| -e | --edit | — | Edit the generated commit message in your favorite editor before committing it. |\n| -a | --all | — | Commit all files. This is the default operation when using a VCS other than git. |\n| -s | --no-strip-message | — | If this option is set and the commit message has been derived from the changelog, the characters \"* \" will be stripped f |\n| — | --changelog-info | — | If this option is set, the commit author and date will be determined from the Maintainer and Date field of the first par |\n\n## See Also\n\n- debchange(1)\n- svnpath(1)\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **SYNOPSIS** (2 lines)\n- **DESCRIPTION** (5 lines)\n- **OPTIONS** (1 lines) — 11 subsections\n  - -c --changelog (2 lines)\n  - -r --release (6 lines)\n  - -R --release-use-changelog (4 lines)\n  - -m --message (3 lines)\n  - -n --noact (2 lines)\n  - -d --diff (4 lines)\n  - -C --confirm (4 lines)\n  - -e --edit (2 lines)\n  - -a --all (2 lines)\n  - -s --strip-message --no-strip-message (14 lines)\n  - --changelog-info (4 lines)\n- **CONFIGURATION VARIABLES** (25 lines)\n- **VCS SPECIFIC FEATURES** (24 lines)\n- **LICENSE** (4 lines)\n- **AUTHOR** (2 lines)\n- **SEE ALSO** (5 lines)\n\n## Full Content\n\n### NAME\n\ndebcommit - commit changes to a package\n\n### SYNOPSIS\n\ndebcommit [options] [--all | files to commit]\n\n### DESCRIPTION\n\ndebcommit generates a commit message based on new text in debian/changelog, and commits the\nchange to a package's repository. It must be run in a working copy for the package. Supported\nversion control systems are: cvs, git, hg (mercurial), svk, svn (Subversion), baz, bzr, tla\n(arch), darcs.\n\n### OPTIONS\n\n#### -c --changelog\n\nSpecify an alternate location for the changelog. By default debian/changelog is used.\n\n#### -r --release\n\nCommit a release of the package. The version number is determined from debian/changelog,\nand is used to tag the package in the repository.\n\nNote that svn/svk tagging conventions vary, so debcommit uses svnpath(1) to determine\nwhere the tag should be placed in the repository.\n\n#### -R --release-use-changelog\n\nWhen used in conjunction with --release, if there are uncommitted changes to the\nchangelog then derive the commit message from those changes rather than using the default\nmessage.\n\n#### -m --message\n\nSpecify a commit message to use. Useful if the program cannot determine a commit message\non its own based on debian/changelog, or if you want to override the default message.\n\n#### -n --noact\n\nDo not actually do anything, but do print the commands that would be run.\n\n#### -d --diff\n\nInstead of committing, do print the diff of what would have been committed if this option\nwere not given. A typical usage scenario of this option is the generation of patches\nagainst the current working copy (e.g. when you don't have commit access right).\n\n#### -C --confirm\n\nDisplay the generated commit message and ask for confirmation before committing it. It is\nalso possible to edit the message at this stage; in this case, the confirmation prompt\nwill be re-displayed after the editing has been performed.\n\n#### -e --edit\n\nEdit the generated commit message in your favorite editor before committing it.\n\n#### -a --all\n\nCommit all files. This is the default operation when using a VCS other than git.\n\n#### -s --strip-message --no-strip-message\n\nIf this option is set and the commit message has been derived from the changelog, the\ncharacters \"* \" will be stripped from the beginning of the message.\n\nThis option is set by default and ignored if more than one line of the message begins\nwith \"[*+-] \".\n\n--sign-commit, --no-sign-commit\nIf this option is set, then the commits that debcommit creates will be signed using\ngnupg. Currently this is only supported by git, hg, and bzr.\n\n--sign-tags, --no-sign-tags\nIf this option is set, then tags that debcommit creates will be signed using gnupg.\nCurrently this is only supported by git.\n\n#### --changelog-info\n\nIf this option is set, the commit author and date will be determined from the Maintainer\nand Date field of the first paragraph in debian/changelog.  This is mainly useful when\nusing debchange(1) with the --no-mainttrailer option.\n\n### CONFIGURATION VARIABLES\n\nThe two configuration files /etc/devscripts.conf and ~/.devscripts are sourced by a shell in\nthat order to set configuration variables.  Command line options can be used to override\nconfiguration file settings.  Environment variable settings are ignored for this purpose.\nThe currently recognised variables are:\n\nDEBCOMMITSTRIPMESSAGE\nIf this is set to no, then it is the same as the --no-strip-message command line\nparameter being used. The default is yes.\n\nDEBCOMMITSIGNTAGS\nIf this is set to yes, then it is the same as the --sign-tags command line parameter\nbeing used. The default is no.\n\nDEBCOMMITSIGNCOMMITS\nIf this is set to yes, then it is the same as the --sign-commit command line parameter\nbeing used. The default is no.\n\nDEBCOMMITRELEASEUSECHANGELOG\nIf this is set to yes, then it is the same as the --release-use-changelog command line\nparameter being used. The default is no.\n\nDEBSIGNKEYID\nThis is the key id used for signing tags. If not set, a default will be chosen by the\nrevision control system.\n\n### VCS SPECIFIC FEATURES\n\ntla / baz\nIf the commit message contains more than 72 characters, a summary will be created\ncontaining as many full words from the message as will fit within 72 characters, followed\nby an ellipsis.\n\nEach of the features described below is applicable only if the commit message has been\nautomatically determined from the changelog.\n\ngit If only a single change is detected in the changelog, debcommit will unfold it to a\nsingle line and behave as if --strip-message was used.\n\nOtherwise, the first change will be unfolded and stripped to form a summary line and a\ncommit message formed using the summary line followed by a blank line and the changes as\nextracted from the changelog. debcommit will then spawn an editor so that the message may\nbe fine-tuned before committing.\n\nhg / darcs\nThe first change detected in the changelog will be unfolded to form a single line\nsummary. If multiple changes were detected then an editor will be spawned to allow the\nmessage to be fine-tuned.\n\nbzr If the changelog entry used for the commit message closes any bugs then --fixes options\nto \"bzr commit\" will be generated to associate the revision and the bugs.\n\n### LICENSE\n\nThis code is copyright by Joey Hess <joeyh@debian.org>, all rights reserved.  This program\ncomes with ABSOLUTELY NO WARRANTY.  You are free to redistribute this code under the terms of\nthe GNU General Public License, version 2 or later.\n\n### AUTHOR\n\nJoey Hess <joeyh@debian.org>\n\n### SEE ALSO\n\ndebchange(1), svnpath(1)\n\n\n\nDebian Utilities                             2026-03-04                                 DEBCOMMIT(1)\n\n"
        }
    ],
    "structuredContent": {
        "command": "debcommit",
        "section": "1",
        "mode": "man",
        "summary": "debcommit - commit changes to a package",
        "synopsis": "debcommit [options] [--all | files to commit]",
        "flags": [
            {
                "flag": "-c",
                "long": "--changelog",
                "arg": null,
                "description": "Specify an alternate location for the changelog. By default debian/changelog is used."
            },
            {
                "flag": "-r",
                "long": "--release",
                "arg": null,
                "description": "Commit a release of the package. The version number is determined from debian/changelog, and is used to tag the package in the repository. Note that svn/svk tagging conventions vary, so debcommit uses svnpath(1) to determine where the tag should be placed in the repository."
            },
            {
                "flag": "-R",
                "long": "--release-use-changelog",
                "arg": null,
                "description": "When used in conjunction with --release, if there are uncommitted changes to the changelog then derive the commit message from those changes rather than using the default message."
            },
            {
                "flag": "-m",
                "long": "--message",
                "arg": null,
                "description": "Specify a commit message to use. Useful if the program cannot determine a commit message on its own based on debian/changelog, or if you want to override the default message."
            },
            {
                "flag": "-n",
                "long": "--noact",
                "arg": null,
                "description": "Do not actually do anything, but do print the commands that would be run."
            },
            {
                "flag": "-d",
                "long": "--diff",
                "arg": null,
                "description": "Instead of committing, do print the diff of what would have been committed if this option were not given. A typical usage scenario of this option is the generation of patches against the current working copy (e.g. when you don't have commit access right)."
            },
            {
                "flag": "-C",
                "long": "--confirm",
                "arg": null,
                "description": "Display the generated commit message and ask for confirmation before committing it. It is also possible to edit the message at this stage; in this case, the confirmation prompt will be re-displayed after the editing has been performed."
            },
            {
                "flag": "-e",
                "long": "--edit",
                "arg": null,
                "description": "Edit the generated commit message in your favorite editor before committing it."
            },
            {
                "flag": "-a",
                "long": "--all",
                "arg": null,
                "description": "Commit all files. This is the default operation when using a VCS other than git."
            },
            {
                "flag": "-s",
                "long": "--no-strip-message",
                "arg": null,
                "description": "If this option is set and the commit message has been derived from the changelog, the characters \"* \" will be stripped from the beginning of the message. This option is set by default and ignored if more than one line of the message begins with \"[*+-] \". --sign-commit, --no-sign-commit If this option is set, then the commits that debcommit creates will be signed using gnupg. Currently this is only supported by git, hg, and bzr. --sign-tags, --no-sign-tags If this option is set, then tags that debcommit creates will be signed using gnupg. Currently this is only supported by git."
            },
            {
                "flag": "",
                "long": "--changelog-info",
                "arg": null,
                "description": "If this option is set, the commit author and date will be determined from the Maintainer and Date field of the first paragraph in debian/changelog. This is mainly useful when using debchange(1) with the --no-mainttrailer option."
            }
        ],
        "examples": [],
        "see_also": [
            {
                "name": "debchange",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/debchange/1/json"
            },
            {
                "name": "svnpath",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/svnpath/1/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "OPTIONS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "-c --changelog",
                        "lines": 2,
                        "flag": "-c",
                        "long": "--changelog"
                    },
                    {
                        "name": "-r --release",
                        "lines": 6,
                        "flag": "-r",
                        "long": "--release"
                    },
                    {
                        "name": "-R --release-use-changelog",
                        "lines": 4,
                        "flag": "-R",
                        "long": "--release-use-changelog"
                    },
                    {
                        "name": "-m --message",
                        "lines": 3,
                        "flag": "-m",
                        "long": "--message"
                    },
                    {
                        "name": "-n --noact",
                        "lines": 2,
                        "flag": "-n",
                        "long": "--noact"
                    },
                    {
                        "name": "-d --diff",
                        "lines": 4,
                        "flag": "-d",
                        "long": "--diff"
                    },
                    {
                        "name": "-C --confirm",
                        "lines": 4,
                        "flag": "-C",
                        "long": "--confirm"
                    },
                    {
                        "name": "-e --edit",
                        "lines": 2,
                        "flag": "-e",
                        "long": "--edit"
                    },
                    {
                        "name": "-a --all",
                        "lines": 2,
                        "flag": "-a",
                        "long": "--all"
                    },
                    {
                        "name": "-s --strip-message --no-strip-message",
                        "lines": 14,
                        "flag": "-s",
                        "long": "--no-strip-message"
                    },
                    {
                        "name": "--changelog-info",
                        "lines": 4,
                        "long": "--changelog-info"
                    }
                ]
            },
            {
                "name": "CONFIGURATION VARIABLES",
                "lines": 25,
                "subsections": []
            },
            {
                "name": "VCS SPECIFIC FEATURES",
                "lines": 24,
                "subsections": []
            },
            {
                "name": "LICENSE",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "AUTHOR",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 5,
                "subsections": []
            }
        ]
    }
}