diff --git a/cmd/dehub/cmd_commit.go b/cmd/dehub/cmd_commit.go index 707610e..4e8cb61 100644 --- a/cmd/dehub/cmd_commit.go +++ b/cmd/dehub/cmd_commit.go @@ -107,7 +107,7 @@ func cmdCommit(ctx context.Context, cmd *dcmd.Cmd) { return nil, fmt.Errorf("error collecting commit message from user: %w", err) } else if *description == "" { - return nil, errors.New("empty commit message, not doing anything") + return nil, errors.New("empty description, not doing anything") } } @@ -129,6 +129,7 @@ func cmdCommit(ctx context.Context, cmd *dcmd.Cmd) { startRev := flag.String("start", "", "Revision of the starting commit to accredit (when accrediting a range of changes)") endRev := flag.String("end", "HEAD", "Revision of the ending commit to accredit (when accrediting a range of changes)") rev := flag.String("rev", "", "Revision of commit to accredit (when accrediting a single commit)") + description := flag.String("descr", "", "Description of changes being accredited") cmd.Run(func() (context.Context, error) { if *rev == "" && *startRev == "" { return nil, errors.New("-rev or -start is required") @@ -161,17 +162,22 @@ func cmdCommit(ctx context.Context, cmd *dcmd.Cmd) { } else if len(commits) == 1 && commits[0].Payload.Credential != nil { credPayUn = commits[0].Payload } else { - lastDescr, err := dehub.LastChangeDescription(commits) - if err != nil { - return nil, fmt.Errorf("determining change description of commit(s): %w", err) + if *description == "" { + lastDescr, err := dehub.LastChangeDescription(commits) + if err != nil { + return nil, fmt.Errorf("determining change description of commit(s): %w", err) + } + + *description, err = tmpFileMsg(defaultCommitFileMsgTpl, lastDescr) + if err != nil { + return nil, fmt.Errorf("collecting credential description from user: %w", err) + } else if *description == "" { + return nil, errors.New("empty description, not doing anything") + } } - descr, err := tmpFileMsg(defaultCommitFileMsgTpl, lastDescr) - if err != nil { - return nil, fmt.Errorf("collecting credential description from user: %w", err) - } - - credPayUn, err = proj.NewPayloadCredentialFromChanges(descr, commits) + var err error + credPayUn, err = proj.NewPayloadCredentialFromChanges(*description, commits) if err != nil { return nil, fmt.Errorf("constructing credential commit: %w", err) }