Created
September 26, 2018 20:29
-
-
Save FoxFireX/1b794384612b7fd5e7cd157cff96269e to your computer and use it in GitHub Desktop.
Demonstration of git subtree failures
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mkdir main | |
mkdir sub | |
cd sub | |
git init | |
echo "sub" > sub.txt | |
git add sub.txt | |
git commit sub.txt -m "Adding initial subtree content" | |
git checkout -b temp | |
cd ../main | |
git init | |
echo "main" > main.txt | |
git add main.txt | |
git commit -m "Adding initial main content (this commit will be incorrectly included in the ignore-joins case)" | |
git subtree add ../sub master --prefix sub | |
echo "new" > sub/new.txt | |
git add sub/new.txt | |
git commit -m "Adding new content for subtree" | |
git checkout -b side | |
echo "side" > side.txt | |
git add side.txt | |
git commit -m "Adding unrelated side branch content" | |
git checkout master | |
echo "master" > master.txt | |
git add master.txt | |
git commit -m "Adding unrelated master content (needed to expand commit graph to expose rejoin failure)" | |
git subtree split --prefix sub -b first_split --rejoin | |
git push ../sub first_split:master | |
git merge side -m "Merging side branch" | |
echo "final" > sub/final.txt | |
git add sub/final.txt | |
git commit -m "Adding new sub file to ensure changes are present for subtree" | |
git subtree split --prefix sub -b failed_rejoin | |
git subtree split --prefix sub --ignore-joins -b failed_ignore_joins |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment