mirror of
https://github.com/git/git.git
synced 2024-11-29 04:54:56 +08:00
f95ebf7429
A root commit couldn't be cherry-picked. But its semantics can be defined as simply merging two trees by overlaying disjoint parts and merging overlapping files without any common ancestor. You should be able to rebase originally independent branches on top of another branch by using this. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
31 lines
464 B
Bash
Executable File
31 lines
464 B
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='test cherry-picking a root commit'
|
|
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success setup '
|
|
|
|
echo first > file1 &&
|
|
git add file1 &&
|
|
test_tick &&
|
|
git commit -m "first" &&
|
|
|
|
git symbolic-ref HEAD refs/heads/second &&
|
|
rm .git/index file1 &&
|
|
echo second > file2 &&
|
|
git add file2 &&
|
|
test_tick &&
|
|
git commit -m "second"
|
|
|
|
'
|
|
|
|
test_expect_success 'cherry-pick a root commit' '
|
|
|
|
git cherry-pick master &&
|
|
test first = $(cat file1)
|
|
|
|
'
|
|
|
|
test_done
|