Re: [PATCH 5/5] git-svn: fix empty dir tracking in branches
On Tue, Apr 30, 2013 at 1:38 PM, Ilya Basin <basinilya@gmail.com> wrote:
Show 13 quoted lines
> - When creating a tag or branch from a subdir, a disjoint branch is
> created. Then git-svn re-imports the commits using this dir as strip
> path.
>
> During this re-import the variable %added_placeholder is not up to
> date. Because the branch is disjoint, this variable should be empty
> in the beginning, but it's not. Because of that git-svn tries to
> delete non-existent .gitignore files and dies.
>
> - When creating a tag or branch from a subdir, the strip path is e.g.
> "trunk/module", but change_dir_prop() can be called with just
> "trunk". This breaks tracking of placeholder files, because it
> relise on the hash {dir_prop}, filled in change_dir_prop().Show 17 quoted lines
>
> - When creating a normal tag or branch, git-svn creates a normal
> branch without reimport, but the placeholder files in the new
> branch are not added to %added_placeholder.
>
> This patch does 3 things:
>
> - It makes git-svn store paths in %added_placeholder already
> translated from "trunk/subdir/" to "tags/subdir_1.0/" during
> reimport.
>
> - When strip path is "trunk/subdir", don't add "trunk" to {dir_prop}
> in change_dir_prop().
>
> - When a normal branch is created, it takes entries in
> %added_placeholder belonging to the source branch, translates them
> to target branch and adds them to %added_placeholder.