summaryrefslogtreecommitdiff
path: root/t/t1013/objects/7a/37b887a73791d12d26c0d3e39568a8fb0fa6e8
diff options
context:
space:
mode:
authorLibravatar Roman Kagan <rkagan@mail.ru>2013-12-27 12:05:15 +0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-01-17 11:24:30 -0800
commitac930287ff16823531b541a8e6a7436279e612be (patch)
tree6b504dbd1a0c828ae567c3586ad62ff42fb4698f /t/t1013/objects/7a/37b887a73791d12d26c0d3e39568a8fb0fa6e8
parentGit 1.8.5.3 (diff)
downloadtgif-ac930287ff16823531b541a8e6a7436279e612be.tar.xz
git-svn: workaround for a bug in svn serf backend
Subversion serf backend in versions 1.8.5 and below has a bug(*) that the function creating the descriptor of a file change -- add_file() -- doesn't make a copy of its third argument when storing it on the returned descriptor. As a result, by the time this field is used (in transactions of file copying or renaming) it may well be released, and the memory reused. One of its possible manifestations is the svn assertion triggering on an invalid path, with a message svn_fspath__skip_ancestor: Assertion `svn_fspath__is_canonical(child_fspath)' failed. This patch works around this bug, by storing the value to be passed as the third argument to add_file() in a local variable with the same scope as the file change descriptor, making sure their lifetime is the same. * [ew: fixed in Subversion r1553376 as noted by Jonathan Nieder] Cc: Benjamin Pabst <benjamin.pabst85@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Roman Kagan <rkagan@mail.ru>
Diffstat (limited to 't/t1013/objects/7a/37b887a73791d12d26c0d3e39568a8fb0fa6e8')
0 files changed, 0 insertions, 0 deletions