mirror of
https://github.com/rsteube/carapace-bin.git
synced 2025-05-14 11:44:32 +00:00
73 lines
3.8 KiB
Go
73 lines
3.8 KiB
Go
package cmd
|
|
|
|
import (
|
|
"github.com/rsteube/carapace"
|
|
"github.com/rsteube/carapace-bin/pkg/actions/os"
|
|
"github.com/rsteube/carapace-bin/pkg/actions/tools/git"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
var amCmd = &cobra.Command{
|
|
Use: "am",
|
|
Short: "Apply a series of patches from a mailbox",
|
|
Run: func(cmd *cobra.Command, args []string) {},
|
|
GroupID: groups[group_main].ID,
|
|
}
|
|
|
|
func init() {
|
|
carapace.Gen(amCmd).Standalone()
|
|
|
|
amCmd.Flags().BoolP("3way", "3", false, "allow fall back on 3way merging if needed")
|
|
amCmd.Flags().StringS("C", "C", "", "pass it through git-apply")
|
|
amCmd.Flags().Bool("abort", false, "restore the original branch and abort the patching operation")
|
|
amCmd.Flags().Bool("committer-date-is-author-date", false, "lie about committer date")
|
|
amCmd.Flags().Bool("continue", false, "continue applying patches after resolving a conflict")
|
|
amCmd.Flags().String("directory", "", "pass it through git-apply")
|
|
amCmd.Flags().String("exclude", "", "pass it through git-apply")
|
|
amCmd.Flags().StringP("gpg-sign", "S", "", "GPG-sign commits")
|
|
amCmd.Flags().Bool("ignore-date", false, "use current timestamp for author date")
|
|
amCmd.Flags().Bool("ignore-space-change", false, "pass it through git-apply")
|
|
amCmd.Flags().Bool("ignore-whitespace", false, "pass it through git-apply")
|
|
amCmd.Flags().String("include", "", "pass it through git-apply")
|
|
amCmd.Flags().BoolP("interactive", "i", false, "run interactively")
|
|
amCmd.Flags().BoolP("keep", "k", false, "pass -k flag to git-mailinfo")
|
|
amCmd.Flags().Bool("keep-cr", false, "pass --keep-cr flag to git-mailsplit for mbox format")
|
|
amCmd.Flags().Bool("keep-non-patch", false, "pass -b flag to git-mailinfo")
|
|
amCmd.Flags().BoolP("message-id", "m", false, "pass -m flag to git-mailinfo")
|
|
amCmd.Flags().Bool("no-keep-cr", false, "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr")
|
|
amCmd.Flags().StringS("p", "p", "", "pass it through git-apply")
|
|
amCmd.Flags().String("patch-format", "", "format the patch(es) are in")
|
|
amCmd.Flags().BoolP("quiet", "q", false, "be quiet")
|
|
amCmd.Flags().Bool("quit", false, "abort the patching operation but keep HEAD where it is")
|
|
amCmd.Flags().String("quoted-cr", "", "pass it through git-mailinfo")
|
|
amCmd.Flags().Bool("reject", false, "pass it through git-apply")
|
|
amCmd.Flags().Bool("rerere-autoupdate", false, "update the index with reused conflict resolution if possible")
|
|
amCmd.Flags().BoolP("resolved", "r", false, "synonyms for --continue")
|
|
amCmd.Flags().String("resolvemsg", "", "override error message when patch failure occurs")
|
|
amCmd.Flags().BoolP("scissors", "c", false, "strip everything before a scissors line")
|
|
amCmd.Flags().String("show-current-patch", "", "show the patch being applied")
|
|
amCmd.Flags().BoolP("signoff", "s", false, "add a Signed-off-by trailer to the commit message")
|
|
amCmd.Flags().Bool("skip", false, "skip the current patch")
|
|
amCmd.Flags().BoolP("utf8", "u", false, "recode into utf8 (default)")
|
|
amCmd.Flags().String("whitespace", "", "pass it through git-apply")
|
|
rootCmd.AddCommand(amCmd)
|
|
|
|
amCmd.Flag("gpg-sign").NoOptDefVal = " "
|
|
amCmd.Flag("show-current-patch").NoOptDefVal = " "
|
|
|
|
carapace.Gen(amCmd).FlagCompletion(carapace.ActionMap{
|
|
"directory": carapace.ActionDirectories(),
|
|
"exclude": carapace.ActionDirectories(),
|
|
"gpg-sign": os.ActionGpgKeyIds(),
|
|
"include": carapace.ActionDirectories(),
|
|
"patch-format": carapace.ActionValues("mbox", "mboxrd", "stgit", "stgit-series", "hg"),
|
|
"quoted-cr": carapace.ActionValuesDescribed(
|
|
"nowarn", "Git will do nothing when such a CRLF is found.",
|
|
"warn", "Git will issue a warning for each message if such a CRLF is found.",
|
|
"strip", "Git will convert those CRLF to LF.",
|
|
),
|
|
"show-current-patch": carapace.ActionValues("diff", "raw"),
|
|
"whitespace": git.ActionWhitespaceModes(),
|
|
})
|
|
}
|