I have not been able to find a similar answer to my question.
Situation:
Locally using GIT (git version 1.7.3.1.msysgit.0)
Remote repository is SVN (not sure of version)
Problem:
Clone an SVN repo, add a folder, commit it to git and SVN, rename the folder (without telling git), commit to git, cannot commit anymore to SVN.
Issue Steps (SVN repo has one file in it main.as in the root folder)
git add .
)git add .
)git-mv
)git-add .
)PROBLEM: The git-svn dcommit responds:
oldFolder/file.txt: needs update
update-index --refresh: command returned error: 1
What I tried:
The one that semi-worked was to call:
svn rm -r oldFolder
but this ended up with oldFolder
and newFolder
in SVN... whereas I want oldFolder
to be either renamed or deleted (I don't mind losing the history in this case).
I need the SVN repo to reflect my local git master/branch...
Why am I renaming files without the git command?
I work with large file structures and the IDEs that im using for refactoring old code renames multiple folders and files causing the above scenario. I cannot keep track and call git rm on every folder removed.
At step 7, you staged the addition of the new file (newFolder/file.txt) but not the deletion of the old file. You'll need to do the following instead of step 6 and 7 above:
At this point, git will track renames (if any), and produce a correct commit for SVN.
If your tree is still at step 7, you can do
git reset --soft HEAD~
to return to the previous commit and stage the deletion.