-
Notifications
You must be signed in to change notification settings - Fork 0
git remote svn special cases
mkdir trunk/project1 trunk/project2
svn add trunk
svn ci -m "Initial revsion" # r1
svn rm trunk
svn ci -m "Removed incorrect directory name" # r1000
mkdir trunk
touch trunk/MOVED_TO_PROJECT_TRUNK
svn ci -m "Added signpost file for future reference" # r1001
mkdir project1 project2
svn cp -r 999 trunk/project1 project1/trunk
svn cp -r 999 trunk/project2 project2/trunk
svn ci -m "Recreated projects with correct directory names" # r1002
This would be represented in SBL something like:
In r1, create branch "trunk/project1"
In r1, create branch "trunk/project2"
In r1000, deactivate "trunk/project1"
In r1000, deactivate "trunk/project2"
In r1001, delete branch "trunk/project1"
In r1001, delete branch "trunk/project2"
In r1001, create branch "trunk"
In r1002, create branch "project1/trunk" from "trunk/project1" r999
In r1002, create branch "project2/trunk" from "trunk/project2" r999
If you look in your ".git/refs/heads/" directory, you’ll see git branches are stored as files on disk. So if you have a branch "trunk/project1", you can’t create a branch called "trunk" unless you delete the directory called "trunk" first. This unfortunate limitation of an otherwise neat solution means you can’t reliably use git branches when retrieving older revisions.