git-workflow/cmd/feature.ab

59 lines
1.4 KiB
Text
Raw Normal View History

2024-07-25 18:36:55 +02:00
import * from "../config.ab"
fun branch(feature: Text): Text {
let prefix = get_feature_prefix()
return "{prefix}{feature}"
}
2024-07-25 17:59:52 +02:00
fun feature_start(feature: Text, description: Text): Null {
2024-07-25 18:36:55 +02:00
let branch = branch(feature)
let base = get_dev_branch()
echo "git switch -c {branch} {base}"
echo "git config --no-add branch.\"{branch}\".description \"{description}\""
2024-07-25 17:59:52 +02:00
}
fun feature_checkout(feature: Text): Null {
2024-07-25 18:36:55 +02:00
let branch = branch(feature)
echo "git checkout \"{branch}\""
2024-07-25 17:59:52 +02:00
}
fun feature_publish(feature: Text): Null {
echo "Publish feature {feature}"
}
fun feature_finish(feature: Text): Null {
echo "Finish feature {feature}"
}
fun feature_delete(feature: Text): Null {
echo "Delete feature {feature}"
}
fun feature_rebase(feature: Text): Null {
echo "Rebase feature {feature}"
}
fun help(args: [Text]): Null {
echo "Feature help"
}
pub fun feature_cmd(args: [Text]): Null {
let cmd = args[1]
let feature = args[2]
if {
cmd == "": help(args)
cmd == "start": feature_start(feature, args[3])
cmd == "checkout": feature_checkout(feature)
cmd == "publish": feature_publish(feature)
cmd == "finish": feature_finish(feature)
cmd == "rebase": feature_rebase(feature)
cmd == "delete": feature_delete(feature)
else: echo "Unknown command feature '{cmd}'"
}
}