mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-01-01 05:16:05 +01:00
45541: internal: vcs_info git: Add a test case repository for rebase-apply situations
This commit is contained in:
parent
4ce4483daf
commit
e5765bfdc8
2 changed files with 53 additions and 0 deletions
|
@ -1,5 +1,9 @@
|
|||
2020-03-15 Daniel Shahaf <danielsh@apache.org>
|
||||
|
||||
* 45541: Functions/VCS_Info/test-repo-git-rebase-apply: internal:
|
||||
vcs_info git: Add a test case repository for rebase-apply
|
||||
situations
|
||||
|
||||
* 45539: Functions/VCS_Info/Backends/VCS_INFO_get_data_git:
|
||||
vcs_info git: In non-interactive rebases, obtain applied
|
||||
patches' names.
|
||||
|
|
49
Functions/VCS_Info/test-repo-git-rebase-apply
Executable file
49
Functions/VCS_Info/test-repo-git-rebase-apply
Executable file
|
@ -0,0 +1,49 @@
|
|||
#!/usr/local/bin/zsh -f
|
||||
#
|
||||
# This script creates a test repository for testing the git backend's behaviour during rebase-apply operations.
|
||||
#
|
||||
# It works in ./vcs-test/.
|
||||
#
|
||||
# Suggested zshrc settings:
|
||||
#
|
||||
# autoload vcs_info
|
||||
# precmd() { vcs_info; typeset -pm vcs\* }
|
||||
# zstyle ':vcs_info:*' actionformats %m
|
||||
# zstyle ':vcs_info:*' patch-format '[%n+%c=%a] [%p] [%u]'
|
||||
# zstyle :vcs_info:\*gen-applied-string\* hooks f1
|
||||
# +vi-f1() { typeset -p argv hook_com }
|
||||
# zstyle :vcs_info:\*gen-unapplied-string\* hooks f2
|
||||
# +vi-f2() { typeset -p argv hook_com }
|
||||
# zstyle :vcs_info:\* get-unapplied true
|
||||
#
|
||||
mkdir "vcs-test"
|
||||
cd "vcs-test"
|
||||
git init
|
||||
|
||||
append_lines() { for 1; do echo line from r$1 >> iota && git commit -am "r$1: Append a line"; done }
|
||||
|
||||
echo "This is the file 'iota'." > iota
|
||||
git add iota
|
||||
git commit -m "r1: Add iota"
|
||||
git tag rebase_onto_this HEAD
|
||||
|
||||
# Make another change to iota
|
||||
append_lines 2
|
||||
git tag rebase_from_this HEAD
|
||||
|
||||
# Make non-conflicting changes
|
||||
for 1 in 3 4 5 6; do
|
||||
touch kappa$1
|
||||
git add kappa$1
|
||||
git commit -m "r${1}: non-conflicting change"
|
||||
done
|
||||
|
||||
# Make more changes to iota
|
||||
append_lines 7 8 9
|
||||
|
||||
# Specify a rebase that would create the history [1,3,4,5,6,7,8,9].
|
||||
# This will conflict because r7 depends on r2 which is not included.
|
||||
git checkout -b myref
|
||||
git rebase --onto=rebase_onto_this rebase_from_this myref
|
||||
|
||||
|
Loading…
Reference in a new issue