From: Eric Wong Date: Mon, 29 Jan 2018 23:11:07 +0000 (+0000) Subject: git-svn: control destruction order to avoid segfault X-Git-Tag: v2.16.3~26^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/7f6f75e97acd25f8e95ce431e16d2e1c2093845d git-svn: control destruction order to avoid segfault It seems necessary to control destruction ordering to avoid a segfault with SVN 1.9.5 when using "git svn branch". I've also reported the problem against libsvn-perl to Debian [Bug #888791], but releasing the SVN::Client instance can be beneficial anyways to save memory. ref: https://bugs.debian.org/888791 Tested-by: Todd Zullinger Reported-by: brian m. carlson Signed-off-by: Eric Wong Signed-off-by: Junio C Hamano --- diff --git a/git-svn.perl b/git-svn.perl index aa242d4f4f..b012980246 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -1199,6 +1199,11 @@ sub cmd_branch { $ctx->copy($src, $rev, $dst) unless $_dry_run; + # Release resources held by ctx before creating another SVN::Ra + # so destruction is orderly. This seems necessary with SVN 1.9.5 + # to avoid segfaults. + $ctx = undef; + $gs->fetch_all; }