Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to have git-svn take care of empty directories gracefully?

I am very happily using git-svn, though I noticed that git has a different approach when it comes to empty directories as SVN. I need a way to get around the following particular situation:

I have in my project's SVN repository several empty directories that belong in there and should not be touched. Due to some refactoring, I had to delete another directory that used to have files in it. git svn dcommit deletes the files, but leaves the directory. It strikes me that git's ignorance of empty directories is resulting in inconsistency in my SVN repo.

I would like to have that particular directory removed from my SVN repository. Can git-svn do that? And if not, how should I be doing that? (And - eventually - how can I do that while committing other files with them as well in the same changeset?)

like image 885
Pelle Avatar asked Nov 08 '11 14:11

Pelle


2 Answers

Use rmdir argument or config parameter:

--rmdir

Only used with the dcommit, set-tree and commit-diff commands.

Remove directories from the SVN tree if there are no files left behind. SVN can version empty directories, and they are not removed by default if there are no files left in them. git cannot version empty directories. Enabling this flag will make the commit to SVN act like git.

config key: svn.rmdir

like image 161
kan Avatar answered Sep 22 '22 22:09

kan


You will have to delete it on the SVN side:

svn delete -m "deleting empty dir" http://path/to/deleted/dir 
like image 32
manojlds Avatar answered Sep 20 '22 22:09

manojlds