Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitflow
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tools
gitflow
Commits
3c337fb5
Commit
3c337fb5
authored
Feb 04, 2010
by
Vincent Driessen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added -v (--verbose) flags to list subaction of all subcommands.
parent
c7ea9b22
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
166 additions
and
30 deletions
+166
-30
git-flow
git-flow
+3
-0
git-flow-feature
git-flow-feature
+1
-3
git-flow-hotfix
git-flow-hotfix
+53
-8
git-flow-release
git-flow-release
+50
-8
git-flow-support
git-flow-support
+59
-11
No files found.
git-flow
View file @
3c337fb5
...
...
@@ -202,6 +202,9 @@ gitflow_is_branch_merged_into() {
has
$BASE
$ALL_MERGES
}
# helper functions for common reuse
max
()
{
if
[
"
$1
"
-gt
"
$2
"
]
;
then
echo
"
$1
"
;
else
echo
"
$2
"
;
fi
;
}
# convenience functions for checking whether flags have been set or not
flag
()
{
eval
FLAG
=
\$
FLAGS_
$1
;
[
$FLAG
-eq
$FLAGS_TRUE
]
;
}
noflag
()
{
eval
FLAG
=
\$
FLAGS_
$1
;
[
$FLAG
-ne
$FLAGS_TRUE
]
;
}
...
...
git-flow-feature
View file @
3c337fb5
...
...
@@ -28,8 +28,6 @@ cmd_default() {
cmd_list "$@"
}
max() { if [ "$1" -gt "$2" ]; then echo "$1"; else echo "$2"; fi; }
cmd_list() {
DEFINE_boolean verbose false 'verbose (more) output' v
parse_args "$@"
...
...
@@ -113,7 +111,7 @@ resolve_name_by_prefix() {
require_name() {
if [ "$NAME" = "" ]; then
echo
"Missing argument <name>"
warn
"Missing argument <name>"
usage
exit 1
fi
...
...
git-flow-hotfix
View file @
3c337fb5
...
...
@@ -17,7 +17,7 @@ PREFIX=$(git config --get gitflow.prefix.hotfix || echo hotfix/)
FLAG_FETCH=1
usage() {
echo "usage: git flow hotfix [list]"
echo "usage: git flow hotfix [list]
[-v]
"
echo " git flow hotfix start <version> [<base>]"
echo " git flow hotfix finish <version> [<base>]"
# TODO
...
...
@@ -37,12 +37,53 @@ cmd_default() {
}
cmd_list() {
DEFINE_boolean verbose false 'verbose (more) output' v
parse_args "$@"
HOTFIX_BRANCHES="$(echo "$LOCAL_BRANCHES" | grep "^$PREFIX")"
if [ -z "$HOTFIX_BRANCHES" ]; then
warn "No hotfix branches exist."
exit 0
fi
echo "$HOTFIX_BRANCHES" | sed "s?^$PREFIX??g"
CURRENT_BRANCH=$(git branch | grep '^\* ' | grep -v 'no branch' | sed 's/^* //g')
SHORT_NAMES=$(echo "$HOTFIX_BRANCHES" | sed "s?^$PREFIX??g")
# determine column width first
width=0
for branch in $SHORT_NAMES; do
len=$(($(echo "$branch" | wc -c) - 1))
width=$(max $width $len)
done
width=$(($width + 3))
for branch in $SHORT_NAMES; do
fullname="$PREFIX$branch"
base=$(git merge-base "$fullname" "$MASTER_BRANCH")
master_sha=$(git rev-parse "$MASTER_BRANCH")
branch_sha=$(git rev-parse "$fullname")
if [ "$fullname" = "$CURRENT_BRANCH" ]; then
printf "* "
else
printf " "
fi
if flag verbose; then
printf "%-${width}s" "$branch"
if [ "$branch_sha" = "$master_sha" ]; then
printf "(no commits yet)"
else
tagname=$(git name-rev --tags --no-undefined --name-only $base)
if [ "$tagname" != "" ]; then
nicename="$tagname"
else
nicename="$(git rev-parse --short $base)"
fi
printf "(based on $nicename)"
fi
else
printf "%s" "$branch"
fi
echo
done
}
cmd_help() {
...
...
@@ -51,18 +92,22 @@ cmd_help() {
}
parse_args() {
# TODO: When we have a nice structured way of parsing flags with getopt,
# implement the following flags:
# --fetch, to set FLAG_FETCH=1
# --no-fetch, to set FLAG_FETCH=0
# parse options
FLAGS "$@" || exit $?
eval set -- "${FLAGS_ARGV}"
# read arguments into global variables
VERSION="$1"
BASE="${2:-$MASTER_BRANCH}"
BRANCH=$PREFIX$VERSION
}
require_version_arg() {
if [ "$VERSION" = "" ]; then
echo "Missing argument <version>.
"
warn "Missing argument <version>
"
usage
exit 1
fi
BRANCH=$PREFIX$VERSION
}
cmd_start() {
...
...
git-flow-release
View file @
3c337fb5
...
...
@@ -17,7 +17,7 @@ PREFIX=$(git config --get gitflow.prefix.release || echo release/)
FLAG_FETCH=1
usage() {
echo "usage: git flow release [list]"
echo "usage: git flow release [list]
[-v]
"
echo " git flow release start <version>"
echo " git flow release finish <version>"
# TODO
...
...
@@ -38,12 +38,48 @@ cmd_default() {
}
cmd_list() {
DEFINE_boolean verbose false 'verbose (more) output' v
parse_args "$@"
RELEASE_BRANCHES="$(echo "$LOCAL_BRANCHES" | grep "^$PREFIX")"
if [ -z "$RELEASE_BRANCHES" ]; then
warn "No release branches exist."
exit 0
fi
echo "$RELEASE_BRANCHES" | sed "s?^$PREFIX??g"
CURRENT_BRANCH=$(git branch | grep '^\* ' | grep -v 'no branch' | sed 's/^* //g')
SHORT_NAMES=$(echo "$RELEASE_BRANCHES" | sed "s?^$PREFIX??g")
# determine column width first
width=0
for branch in $SHORT_NAMES; do
len=$(($(echo "$branch" | wc -c) - 1))
width=$(max $width $len)
done
width=$(($width + 3))
for branch in $SHORT_NAMES; do
fullname="$PREFIX$branch"
base=$(git merge-base "$fullname" "$DEVELOP_BRANCH")
develop_sha=$(git rev-parse "$DEVELOP_BRANCH")
branch_sha=$(git rev-parse "$fullname")
if [ "$fullname" = "$CURRENT_BRANCH" ]; then
printf "* "
else
printf " "
fi
if flag verbose; then
printf "%-${width}s" "$branch"
if [ "$branch_sha" = "$develop_sha" ]; then
printf "(no commits yet)"
else
nicename="$(git rev-parse --short $base)"
printf "(based on $nicename)"
fi
else
printf "%s" "$branch"
fi
echo
done
}
cmd_help() {
...
...
@@ -52,21 +88,26 @@ cmd_help() {
}
parse_args() {
# TODO: When we have a nice structured way of parsing flags with getopt,
# implement the following flags:
# --fetch, to set FLAG_FETCH=1
# --no-fetch, to set FLAG_FETCH=0
# parse options
FLAGS "$@" || exit $?
eval set -- "${FLAGS_ARGV}"
# read arguments into global variables
VERSION="$1"
BRANCH="$PREFIX$VERSION"
}
require_version_arg() {
if [ "$VERSION" = "" ]; then
echo "Missing argument <version>.
"
warn "Missing argument <version>
"
usage
exit 1
fi
BRANCH=$PREFIX$VERSION
}
cmd_start() {
parse_args "$@"
require_version_arg
# sanity checks
gitflow_require_clean_working_tree
...
...
@@ -95,6 +136,7 @@ cmd_start() {
cmd_finish() {
parse_args "$@"
require_version_arg
# sanity checks
gitflow_require_clean_working_tree
...
...
git-flow-support
View file @
3c337fb5
...
...
@@ -16,8 +16,11 @@ VERSION_PREFIX=$(git config --get gitflow.prefix.versiontag)
PREFIX=$(git config --get gitflow.prefix.support || echo support/)
FLAG_FETCH=1
warn "note: The support subcommand is still very EXPERIMENTAL!"
warn "note: DO NOT use it in a production situation."
usage() {
echo "usage: git flow support [list]"
echo "usage: git flow support [list]
[-v]
"
echo " git flow support start <version> [<base>]"
}
...
...
@@ -26,12 +29,53 @@ cmd_default() {
}
cmd_list() {
DEFINE_boolean verbose false 'verbose (more) output' v
parse_args "$@"
SUPPORT_BRANCHES="$(echo "$LOCAL_BRANCHES" | grep "^$PREFIX")"
if [ -z "$SUPPORT_BRANCHES" ]; then
warn "No support branches exist."
exit 0
fi
echo "$SUPPORT_BRANCHES" | sed "s?^$PREFIX??g"
CURRENT_BRANCH=$(git branch | grep '^\* ' | grep -v 'no branch' | sed 's/^* //g')
SHORT_NAMES=$(echo "$SUPPORT_BRANCHES" | sed "s?^$PREFIX??g")
# determine column width first
width=0
for branch in $SHORT_NAMES; do
len=$(($(echo "$branch" | wc -c) - 1))
width=$(max $width $len)
done
width=$(($width + 3))
for branch in $SHORT_NAMES; do
fullname="$PREFIX$branch"
base=$(git merge-base "$fullname" "$MASTER_BRANCH")
master_sha=$(git rev-parse "$MASTER_BRANCH")
branch_sha=$(git rev-parse "$fullname")
if [ "$fullname" = "$CURRENT_BRANCH" ]; then
printf "* "
else
printf " "
fi
if flag verbose; then
printf "%-${width}s" "$branch"
if [ "$branch_sha" = "$master_sha" ]; then
printf "(no commits yet)"
else
tagname=$(git name-rev --tags --no-undefined --name-only $base)
if [ "$tagname" != "" ]; then
nicename="$tagname"
else
nicename="$(git rev-parse --short $base)"
fi
printf "(based on $nicename)"
fi
else
printf "%s" "$branch"
fi
echo
done
}
cmd_help() {
...
...
@@ -40,22 +84,27 @@ cmd_help() {
}
parse_args() {
# TODO: When we have a nice structured way of parsing flags with getopt,
# implement the following flags:
# --fetch, to set FLAG_FETCH=1
# --no-fetch, to set FLAG_FETCH=0
# parse options
FLAGS "$@" || exit $?
eval set -- "${FLAGS_ARGV}"
# read arguments into global variables
VERSION="$1"
BASE="${2:-${VERSION_PREFIX}${VERSION}}"
BRANCH=$PREFIX$VERSION
}
require_version_arg() {
if [ "$VERSION" = "" ]; then
echo "Missing argument <version>.
"
warn "Missing argument <version>
"
usage
exit 1
fi
BRANCH=$PREFIX$VERSION
}
cmd_start() {
parse_args "$@"
require_version_arg
# sanity checks
gitflow_require_clean_working_tree
...
...
@@ -64,13 +113,12 @@ cmd_start() {
if [ $FLAG_FETCH -eq 1 ]; then
git fetch -q $ORIGIN $BASE
fi
gitflow_require_branches_equal $BRANCH $ORIGIN/$BRANCH
# create branch
git checkout -b
$BRANCH $BASE
git checkout -b
"$BRANCH" "$BASE"
# publish branch
git push $ORIGIN $BRANCH:refs/heads/$BRANCH
#
git push $ORIGIN $BRANCH:refs/heads/$BRANCH
git config branch.$BRANCH.remote $ORIGIN
git config branch.$BRANCH.merge refs/heads/$BRANCH
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment