From: Ilya Basin Date: Mon, 29 Apr 2013 13:00:32 GMT Subject: Re: git-svn: problem with svn cp trunk/subdir tags/subdir_1.0 Message-ID: <1531127990.20130429170032@gmail.com> In-Reply-To: <1826029946.20130429164645@gmail.com> IB> After fixing --preserve-empty-dirs plus --stdlayout a new problem IB> arised: IB> When creating a tag or branch from a subdir, a disjoint branch IB> is created. Then git-svn re-imports the commits using this dir as IB> strip path. IB> Why? I would instead keep the current commit as parent, delete IB> everything except the subdir and move its contents to root directory. IB> During this re-import the variable %added_placeholder is not up to IB> date. Because the branch is disjoint, this variable should be empty in IB> the beginning, but it's not. IB> Because of that git-svn tries to delete non-existent .gitignore files IB> and dies. IB> I think, if a disjoint branch is created, %added_placeholder should be IB> pushed and cleared. A new set of paths starting with "trunk/" will be IB> added to it during re-import. IB> When re-import is done, we should translate the paths to IB> "tags/subdir_1.0/" and merge with the original %added_placeholder. A simpler approach would be to store paths in %added_placeholder already translated from "trunk/subdir/" to "tags/subdir_1.0/". But in the beginning of re-import Fetcher doesn't know the new branch name. --