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 <tmz@pobox.com>
Reported-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Eric Wong <e@80x24.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Eric Wong 2018-01-29 23:11:07 +00:00 коммит произвёл Junio C Hamano
Родитель 8279ed033f
Коммит 7f6f75e97a
1 изменённых файлов: 5 добавлений и 0 удалений

Просмотреть файл

@ -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;
}