2019-12-10 02:24:31 +03:00
|
|
|
#chg-compatible
|
|
|
|
|
2016-04-29 20:49:36 +03:00
|
|
|
Initialize scm prompt
|
2018-01-10 03:22:02 +03:00
|
|
|
$ . $TESTDIR/../contrib/scm-prompt.sh
|
2016-04-29 20:49:36 +03:00
|
|
|
|
|
|
|
$ cmd() {
|
|
|
|
> "$@"
|
|
|
|
> _scm_prompt "(%s)\n"
|
|
|
|
> }
|
2021-03-22 20:45:38 +03:00
|
|
|
$ git() {
|
|
|
|
> command git -c init.defaultBranch=master "$@"
|
|
|
|
> }
|
2016-04-29 20:49:36 +03:00
|
|
|
|
|
|
|
$ quietcmd() {
|
|
|
|
> "$@" &> /dev/null
|
|
|
|
> _scm_prompt "(%s)\n"
|
|
|
|
> }
|
|
|
|
|
|
|
|
Set env to make commands repeatable
|
|
|
|
|
|
|
|
$ GIT_AUTHOR_NAME="Test User"
|
|
|
|
$ export GIT_AUTHOR_NAME
|
|
|
|
$ GIT_AUTHOR_EMAIL="test@user.org"
|
|
|
|
$ export GIT_AUTHOR_EMAIL
|
|
|
|
$ GIT_AUTHOR_DATE="2006-07-03 17:18:43 +0200"
|
|
|
|
$ export GIT_AUTHOR_DATE
|
|
|
|
$ GIT_COMMITTER_NAME="Test User"
|
|
|
|
$ export GIT_COMMITTER_NAME
|
|
|
|
$ GIT_COMMITTER_EMAIL="test@user.org"
|
|
|
|
$ export GIT_COMMITTER_EMAIL
|
|
|
|
$ GIT_COMMITTER_DATE="2006-07-03 17:18:43 +0200"
|
|
|
|
$ export GIT_COMMITTER_DATE
|
|
|
|
|
|
|
|
Outside of a repo, should have no output
|
|
|
|
$ _scm_prompt
|
|
|
|
|
|
|
|
Set up repo
|
2021-03-23 12:22:56 +03:00
|
|
|
$ git init -q repo
|
2016-04-29 20:49:36 +03:00
|
|
|
$ cd repo
|
|
|
|
$ _scm_prompt "%s\n"
|
|
|
|
master
|
|
|
|
$ cmd git commit -q --allow-empty -m "Initial empty commit"
|
|
|
|
(master)
|
|
|
|
|
|
|
|
Test basics
|
|
|
|
$ echo a > a
|
|
|
|
$ git add a
|
|
|
|
$ cmd git commit -qm "aa"
|
|
|
|
(master)
|
|
|
|
$ cmd git checkout -q "HEAD^"
|
2019-09-12 19:59:07 +03:00
|
|
|
(1fed3389)
|
2016-04-29 20:49:36 +03:00
|
|
|
|
|
|
|
Test rebase
|
|
|
|
$ cmd git checkout -q -b work "master^"
|
|
|
|
(work)
|
|
|
|
$ echo b > a
|
|
|
|
$ git add a
|
|
|
|
$ cmd git commit -qm "ba"
|
|
|
|
(work)
|
|
|
|
$ quietcmd git rebase master
|
2021-03-22 20:45:38 +03:00
|
|
|
(eef45076|REBASE*|work) (glob)
|
2016-04-29 20:49:36 +03:00
|
|
|
$ cmd git rebase --abort
|
|
|
|
(work)
|
|
|
|
$ quietcmd git rebase --merge master
|
2020-04-11 05:33:53 +03:00
|
|
|
(eef45076|REBASE-*|work) (glob)
|
2016-04-29 20:49:36 +03:00
|
|
|
$ cmd git rebase --abort
|
|
|
|
(work)
|
|
|
|
|
|
|
|
Test more advanced workflows
|
|
|
|
$ git format-patch "HEAD^" --stdout > .git/patch-ba
|
|
|
|
$ quietcmd git am < .git/patch-ba
|
|
|
|
(work|AM)
|
|
|
|
$ cmd git am --abort
|
|
|
|
(work)
|
|
|
|
$ echo c > a
|
|
|
|
$ cmd git commit -qam "ca"
|
|
|
|
(work)
|
|
|
|
|
|
|
|
$ quietcmd git revert eef4507
|
|
|
|
(work|REVERTING)
|
|
|
|
$ cmd git revert --abort
|
|
|
|
(work)
|
|
|
|
|
|
|
|
$ quietcmd git cherry-pick eef4507
|
|
|
|
(work|CHERRY-PICKING)
|
|
|
|
$ cmd git cherry-pick --abort
|
|
|
|
(work)
|
|
|
|
|
|
|
|
$ quietcmd git merge eef4507
|
|
|
|
(work|MERGE)
|
|
|
|
$ cmd git merge --abort
|
|
|
|
(work)
|
|
|
|
|
|
|
|
$ cmd git bisect start
|
|
|
|
(work|BISECT)
|
|
|
|
$ cmd git bisect reset
|
|
|
|
Already on 'work'
|
|
|
|
(work)
|