On Jul 10, 2007, at 1:45 PM, martin f krafft wrote:
I wonder how to create a project with two completely independent
branches which have no common ancestry. I don't think it's possible.
One needs a throwaway branch to create the first commit, then branch
each of the two branches off that, then delete the throwaya branch
(or keep it around).
But this is getting academic now...
But interesting.
What you describe won't create two independent branches. They'll
share the root commit. I think what you have do is create the first
branch as normal, then clear out the working copy (be sure not to
delete .git) and do the commit manually. I believe it goes something
like this:
git init
# Create files for master
git add .
git commit
rm -rf * .git/index
# Create files for second branch
git add .
tree=$(git write-tree)
# Edit commit message into some file (commit-msg here)
commit=$(git commit-tree $tree < commit-msg)
git update-ref refs/branches/independent $commit
The important bits are to be sure to remove the index so you don't
commit the wrong files and the last four lines that do the heavy
lifting. You could also create the branch in a second repository and
pull it from there into the first (probably simpler), or perhaps
trick git-commit into thinking there isn't any commits yet (remove
the index and HEAD perhaps?).
~~ Brian
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html