swh:1:snp:87728f882295b5ba27035837248a04c5be121c53
Revision b8c78e2a9d6141589202e98b898f477861fcb111 authored by Jonathan Nieder on 09 October 2012, 10:12:39 UTC, committed by Eric Wong on 10 October 2012, 20:02:33 UTC
Subversion represents symlinks as ordinary files with content starting
with "link " and the svn:special property set to "*".  Thus a file can
switch between being a symlink and a non-symlink simply by toggling
its svn:special property, and new checkouts will automatically write a
file of the appropriate type.  Likewise, in subversion 1.6 and older,
running "svn update" would notice changes in filetype and update the
working copy appropriately.

Starting in subversion 1.7 (issue 4091), changes to the svn:special
property trip an assertion instead:

	$ svn up svn-tree
	Updating 'svn-tree':
	svn: E235000: In file 'subversion/libsvn_wc/update_editor.c' \
	line 1583: assertion failed (action == svn_wc_conflict_action_edit \
	|| action == svn_wc_conflict_action_delete || action == \
	svn_wc_conflict_action_replace)

Revisions prepared with ordinary svn commands ("svn add" and not "svn
propset") don't trip this because they represent these filetype
changes using a replace operation, which is approximately equivalent
to removal followed by adding a new file and works fine.  Follow suit.

Noticed using t9100.  After this change, git-svn's file-to-symlink
changes are sent in a format that modern "svn update" can handle and
tests t9100.11-13 pass again.

[ew: s,git-svn\.perl,perl/Git/SVN/Editor.pm,g]

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
1 parent d64383a
History
Tip revision: 6c40894d2466d4e7fddc047a05116aa9d14712ee authored by Junio C Hamano on 30 August 2021, 23:06:22 UTC
The second batch
Tip revision: 6c40894
File Mode Size
Documentation
block-sha1
builtin
compat
contrib
git-gui
git_remote_helpers
gitk-git
gitweb
mergetools
perl
po
ppc
t
templates
vcs-svn
xdiff
.gitattributes -rw-r--r-- 105 bytes
.gitignore -rw-r--r-- 3.4 KB
.mailmap -rw-r--r-- 3.6 KB
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 756 bytes
INSTALL -rw-r--r-- 8.5 KB
LGPL-2.1 -rw-r--r-- 26.2 KB
Makefile -rw-r--r-- 84.5 KB
README -rw-r--r-- 2.5 KB
RelNotes l--------- 32 bytes
abspath.c -rw-r--r-- 4.3 KB
aclocal.m4 -rw-r--r-- 1.4 KB
advice.c -rw-r--r-- 2.6 KB
advice.h -rw-r--r-- 673 bytes
alias.c -rw-r--r-- 1.7 KB
alloc.c -rw-r--r-- 1.6 KB
archive-tar.c -rw-r--r-- 11.1 KB
archive-zip.c -rw-r--r-- 12.4 KB
archive.c -rw-r--r-- 11.8 KB
archive.h -rw-r--r-- 1.3 KB
argv-array.c -rw-r--r-- 1.4 KB
argv-array.h -rw-r--r-- 555 bytes
attr.c -rw-r--r-- 19.1 KB
attr.h -rw-r--r-- 1.6 KB
base85.c -rw-r--r-- 2.8 KB
bisect.c -rw-r--r-- 23.0 KB
bisect.h -rw-r--r-- 769 bytes
blob.c -rw-r--r-- 565 bytes
blob.h -rw-r--r-- 664 bytes
branch.c -rw-r--r-- 7.3 KB
branch.h -rw-r--r-- 1.9 KB
builtin.h -rw-r--r-- 8.8 KB
bulk-checkin.c -rw-r--r-- 7.0 KB
bulk-checkin.h -rw-r--r-- 343 bytes
bundle.c -rw-r--r-- 11.1 KB
bundle.h -rw-r--r-- 707 bytes
cache-tree.c -rw-r--r-- 15.9 KB
cache-tree.h -rw-r--r-- 1.4 KB
cache.h -rw-r--r-- 44.6 KB
check-builtins.sh -rwxr-xr-x 588 bytes
check-racy.c -rw-r--r-- 538 bytes
check_bindir -rwxr-xr-x 369 bytes
color.c -rw-r--r-- 5.2 KB
color.h -rw-r--r-- 3.1 KB
column.c -rw-r--r-- 10.2 KB
column.h -rw-r--r-- 1.4 KB
combine-diff.c -rw-r--r-- 31.5 KB
command-list.txt -rw-r--r-- 8.1 KB
commit.c -rw-r--r-- 31.2 KB
commit.h -rw-r--r-- 7.3 KB
config.c -rw-r--r-- 37.7 KB
config.mak.in -rw-r--r-- 547 bytes
configure.ac -rw-r--r-- 31.1 KB
connect.c -rw-r--r-- 14.7 KB
connected.c -rw-r--r-- 1.5 KB
connected.h -rw-r--r-- 651 bytes
convert.c -rw-r--r-- 29.8 KB
convert.h -rw-r--r-- 2.2 KB
copy.c -rw-r--r-- 1.6 KB
credential-cache--daemon.c -rw-r--r-- 5.9 KB
credential-cache.c -rw-r--r-- 2.9 KB
credential-store.c -rw-r--r-- 3.9 KB
credential.c -rw-r--r-- 7.6 KB
credential.h -rw-r--r-- 822 bytes
csum-file.c -rw-r--r-- 4.0 KB
csum-file.h -rw-r--r-- 1.1 KB
ctype.c -rw-r--r-- 2.5 KB
daemon.c -rw-r--r-- 30.8 KB
date.c -rw-r--r-- 24.2 KB
decorate.c -rw-r--r-- 1.8 KB
decorate.h -rw-r--r-- 400 bytes
delta.h -rw-r--r-- 3.4 KB
diff-delta.c -rw-r--r-- 15.5 KB
diff-lib.c -rw-r--r-- 14.0 KB
diff-no-index.c -rw-r--r-- 6.3 KB
diff.c -rw-r--r-- 130.1 KB
diff.h -rw-r--r-- 11.0 KB
diffcore-break.c -rw-r--r-- 8.7 KB
diffcore-delta.c -rw-r--r-- 5.4 KB
diffcore-order.c -rw-r--r-- 2.2 KB
diffcore-pickaxe.c -rw-r--r-- 6.1 KB
diffcore-rename.c -rw-r--r-- 18.5 KB
diffcore.h -rw-r--r-- 4.4 KB
dir.c -rw-r--r-- 32.1 KB
dir.h -rw-r--r-- 3.9 KB
editor.c -rw-r--r-- 1.1 KB
entry.c -rw-r--r-- 6.8 KB
environment.c -rw-r--r-- 7.4 KB
exec_cmd.c -rw-r--r-- 3.2 KB
exec_cmd.h -rw-r--r-- 487 bytes
fast-import.c -rw-r--r-- 87.3 KB
fetch-pack.h -rw-r--r-- 866 bytes
fixup-builtins -rwxr-xr-x 432 bytes
fmt-merge-msg.h -rw-r--r-- 187 bytes
fsck.c -rw-r--r-- 9.7 KB
fsck.h -rw-r--r-- 1.0 KB
generate-cmdlist.sh -rwxr-xr-x 433 bytes
gettext.c -rw-r--r-- 4.1 KB
gettext.h -rw-r--r-- 1.4 KB
git-add--interactive.perl -rwxr-xr-x 35.7 KB
git-am.sh -rwxr-xr-x 21.8 KB
git-archimport.perl -rwxr-xr-x 36.0 KB
git-bisect.sh -rwxr-xr-x 11.2 KB
git-compat-util.h -rw-r--r-- 16.0 KB
git-cvsexportcommit.perl -rwxr-xr-x 12.6 KB
git-cvsimport.perl -rwxr-xr-x 30.4 KB
git-cvsserver.perl -rwxr-xr-x 118.0 KB
git-difftool--helper.sh -rwxr-xr-x 1.9 KB
git-difftool.perl -rwxr-xr-x 12.0 KB
git-filter-branch.sh -rwxr-xr-x 11.8 KB
git-instaweb.sh -rwxr-xr-x 17.8 KB
git-lost-found.sh -rwxr-xr-x 554 bytes
git-merge-octopus.sh -rwxr-xr-x 2.2 KB
git-merge-one-file.sh -rwxr-xr-x 3.8 KB
git-merge-resolve.sh -rwxr-xr-x 944 bytes
git-mergetool--lib.sh -rw-r--r-- 4.9 KB
git-mergetool.sh -rwxr-xr-x 9.1 KB
git-p4.py -rwxr-xr-x 115.8 KB
git-parse-remote.sh -rw-r--r-- 2.1 KB
git-pull.sh -rwxr-xr-x 7.5 KB
git-quiltimport.sh -rwxr-xr-x 3.3 KB
git-rebase--am.sh -rw-r--r-- 918 bytes
git-rebase--interactive.sh -rw-r--r-- 24.4 KB
git-rebase--merge.sh -rw-r--r-- 3.0 KB
git-rebase.sh -rwxr-xr-x 13.3 KB
git-relink.perl -rwxr-xr-x 4.0 KB
git-remote-testgit.py -rw-r--r-- 6.1 KB
git-repack.sh -rwxr-xr-x 4.9 KB
git-request-pull.sh -rwxr-xr-x 3.6 KB
git-send-email.perl -rwxr-xr-x 39.8 KB
git-sh-i18n.sh -rw-r--r-- 2.0 KB
git-sh-setup.sh -rw-r--r-- 5.0 KB
git-stash.sh -rwxr-xr-x 12.6 KB
git-submodule.sh -rwxr-xr-x 24.2 KB
git-svn.perl -rwxr-xr-x 58.8 KB
git-web--browse.sh -rwxr-xr-x 4.1 KB
git.c -rw-r--r-- 16.8 KB
git.spec.in -rw-r--r-- 11.1 KB
gpg-interface.c -rw-r--r-- 3.3 KB
gpg-interface.h -rw-r--r-- 451 bytes
graph.c -rw-r--r-- 35.6 KB
graph.h -rw-r--r-- 2.5 KB
grep.c -rw-r--r-- 33.8 KB
grep.h -rw-r--r-- 4.3 KB
hash.c -rw-r--r-- 2.5 KB
hash.h -rw-r--r-- 1.1 KB
help.c -rw-r--r-- 9.2 KB
help.h -rw-r--r-- 899 bytes
hex.c -rw-r--r-- 2.3 KB
http-backend.c -rw-r--r-- 13.1 KB
http-fetch.c -rw-r--r-- 2.3 KB
http-push.c -rw-r--r-- 50.7 KB
http-walker.c -rw-r--r-- 14.0 KB
http.c -rw-r--r-- 32.5 KB
http.h -rw-r--r-- 5.1 KB
ident.c -rw-r--r-- 8.4 KB
imap-send.c -rw-r--r-- 34.8 KB
kwset.c -rw-r--r-- 20.5 KB
kwset.h -rw-r--r-- 2.6 KB
levenshtein.c -rw-r--r-- 2.5 KB
levenshtein.h -rw-r--r-- 203 bytes
list-objects.c -rw-r--r-- 5.5 KB
list-objects.h -rw-r--r-- 429 bytes
ll-merge.c -rw-r--r-- 10.2 KB
ll-merge.h -rw-r--r-- 567 bytes
lockfile.c -rw-r--r-- 6.2 KB
log-tree.c -rw-r--r-- 21.5 KB
log-tree.h -rw-r--r-- 888 bytes
mailmap.c -rw-r--r-- 6.5 KB
mailmap.h -rw-r--r-- 263 bytes
match-trees.c -rw-r--r-- 8.7 KB
merge-file.c -rw-r--r-- 2.6 KB
merge-file.h -rw-r--r-- 175 bytes
merge-recursive.c -rw-r--r-- 57.7 KB
merge-recursive.h -rw-r--r-- 1.7 KB
mergesort.c -rw-r--r-- 1.5 KB
mergesort.h -rw-r--r-- 574 bytes
name-hash.c -rw-r--r-- 4.7 KB
notes-cache.c -rw-r--r-- 2.2 KB
notes-cache.h -rw-r--r-- 500 bytes
notes-merge.c -rw-r--r-- 23.4 KB
notes-merge.h -rw-r--r-- 3.5 KB
notes.c -rw-r--r-- 36.2 KB
notes.h -rw-r--r-- 11.3 KB
object.c -rw-r--r-- 6.4 KB
object.h -rw-r--r-- 2.5 KB
pack-check.c -rw-r--r-- 5.0 KB
pack-refs.c -rw-r--r-- 3.3 KB
pack-refs.h -rw-r--r-- 465 bytes
pack-revindex.c -rw-r--r-- 4.0 KB
pack-revindex.h -rw-r--r-- 223 bytes
pack-write.c -rw-r--r-- 10.4 KB
pack.h -rw-r--r-- 3.2 KB
pager.c -rw-r--r-- 3.1 KB
parse-options-cb.c -rw-r--r-- 2.5 KB
parse-options.c -rw-r--r-- 15.3 KB
parse-options.h -rw-r--r-- 8.6 KB
patch-delta.c -rw-r--r-- 2.2 KB
patch-ids.c -rw-r--r-- 2.5 KB
patch-ids.h -rw-r--r-- 490 bytes
path.c -rw-r--r-- 15.4 KB
pkt-line.c -rw-r--r-- 5.0 KB
pkt-line.h -rw-r--r-- 643 bytes
preload-index.c -rw-r--r-- 2.4 KB
pretty.c -rw-r--r-- 34.4 KB
progress.c -rw-r--r-- 6.5 KB
progress.h -rw-r--r-- 504 bytes
prompt.c -rw-r--r-- 1.4 KB
prompt.h -rw-r--r-- 207 bytes
quote.c -rw-r--r-- 11.3 KB
quote.h -rw-r--r-- 2.9 KB
reachable.c -rw-r--r-- 6.2 KB
reachable.h -rw-r--r-- 163 bytes
read-cache.c -rw-r--r-- 50.7 KB
reflog-walk.c -rw-r--r-- 8.3 KB
reflog-walk.h -rw-r--r-- 773 bytes
refs.c -rw-r--r-- 66.2 KB
refs.h -rw-r--r-- 6.0 KB
remote-curl.c -rw-r--r-- 21.3 KB
remote.c -rw-r--r-- 42.6 KB
remote.h -rw-r--r-- 4.4 KB
replace_object.c -rw-r--r-- 2.7 KB
rerere.c -rw-r--r-- 18.0 KB
rerere.h -rw-r--r-- 778 bytes
resolve-undo.c -rw-r--r-- 3.9 KB
resolve-undo.h -rw-r--r-- 546 bytes
revision.c -rw-r--r-- 67.4 KB
revision.h -rw-r--r-- 5.9 KB
run-command.c -rw-r--r-- 16.3 KB
run-command.h -rw-r--r-- 2.9 KB
send-pack.h -rw-r--r-- 403 bytes
sequencer.c -rw-r--r-- 28.9 KB
sequencer.h -rw-r--r-- 965 bytes
server-info.c -rw-r--r-- 5.1 KB
setup.c -rw-r--r-- 21.6 KB
sh-i18n--envsubst.c -rw-r--r-- 10.7 KB
sha1-array.c -rw-r--r-- 1.2 KB
sha1-array.h -rw-r--r-- 583 bytes
sha1-lookup.c -rw-r--r-- 7.8 KB
sha1-lookup.h -rw-r--r-- 403 bytes
sha1_file.c -rw-r--r-- 71.3 KB
sha1_name.c -rw-r--r-- 33.5 KB
shallow.c -rw-r--r-- 2.3 KB
shell.c -rw-r--r-- 5.1 KB
shortlog.h -rw-r--r-- 463 bytes
show-index.c -rw-r--r-- 2.2 KB
sideband.c -rw-r--r-- 3.4 KB
sideband.h -rw-r--r-- 326 bytes
sigchain.c -rw-r--r-- 969 bytes
sigchain.h -rw-r--r-- 215 bytes
strbuf.c -rw-r--r-- 9.7 KB
strbuf.h -rw-r--r-- 4.6 KB
streaming.c -rw-r--r-- 11.6 KB
streaming.h -rw-r--r-- 504 bytes
string-list.c -rw-r--r-- 7.2 KB
string-list.h -rw-r--r-- 4.8 KB
submodule.c -rw-r--r-- 26.2 KB
submodule.h -rw-r--r-- 1.5 KB
symlinks.c -rw-r--r-- 9.4 KB
tag.c -rw-r--r-- 3.9 KB
tag.h -rw-r--r-- 576 bytes
tar.h -rw-r--r-- 644 bytes
test-chmtime.c -rw-r--r-- 2.6 KB
test-ctype.c -rw-r--r-- 918 bytes
test-date.c -rw-r--r-- 1.4 KB
test-delta.c -rw-r--r-- 1.8 KB
test-dump-cache-tree.c -rw-r--r-- 1.5 KB
test-genrandom.c -rw-r--r-- 722 bytes
test-index-version.c -rw-r--r-- 264 bytes
test-line-buffer.c -rw-r--r-- 2.1 KB
test-match-trees.c -rw-r--r-- 588 bytes
test-mergesort.c -rw-r--r-- 930 bytes
test-mktemp.c -rw-r--r-- 269 bytes
test-parse-options.c -rw-r--r-- 3.4 KB
test-path-utils.c -rw-r--r-- 1.3 KB
test-regex.c -rw-r--r-- 534 bytes
test-revision-walking.c -rw-r--r-- 1.4 KB
test-run-command.c -rw-r--r-- 840 bytes
test-scrap-cache-tree.c -rw-r--r-- 395 bytes
test-sha1.c -rw-r--r-- 816 bytes
test-sha1.sh -rwxr-xr-x 1.9 KB
test-sigchain.c -rw-r--r-- 344 bytes
test-string-list.c -rw-r--r-- 3.0 KB
test-subprocess.c -rw-r--r-- 392 bytes
test-svn-fe.c -rw-r--r-- 1.3 KB
thread-utils.c -rw-r--r-- 1.3 KB
thread-utils.h -rw-r--r-- 209 bytes
trace.c -rw-r--r-- 4.7 KB
transport-helper.c -rw-r--r-- 29.8 KB
transport.c -rw-r--r-- 32.2 KB
transport.h -rw-r--r-- 5.9 KB
tree-diff.c -rw-r--r-- 8.6 KB
tree-walk.c -rw-r--r-- 15.5 KB
tree-walk.h -rw-r--r-- 2.2 KB
tree.c -rw-r--r-- 6.2 KB
tree.h -rw-r--r-- 897 bytes
unimplemented.sh -rw-r--r-- 100 bytes
unix-socket.c -rw-r--r-- 2.4 KB
unix-socket.h -rw-r--r-- 158 bytes
unpack-trees.c -rw-r--r-- 47.5 KB
unpack-trees.h -rw-r--r-- 2.2 KB
upload-pack.c -rw-r--r-- 20.0 KB
url.c -rw-r--r-- 2.8 KB
url.h -rw-r--r-- 492 bytes
usage.c -rw-r--r-- 2.9 KB
userdiff.c -rw-r--r-- 9.6 KB
userdiff.h -rw-r--r-- 646 bytes
utf8.c -rw-r--r-- 13.1 KB
utf8.h -rw-r--r-- 730 bytes
varint.c -rw-r--r-- 631 bytes
varint.h -rw-r--r-- 198 bytes
version.c -rw-r--r-- 651 bytes
version.h -rw-r--r-- 180 bytes
walker.c -rw-r--r-- 7.2 KB
walker.h -rw-r--r-- 1.1 KB
wrap-for-bin.sh -rw-r--r-- 678 bytes
wrapper.c -rw-r--r-- 8.9 KB
write_or_die.c -rw-r--r-- 2.0 KB
ws.c -rw-r--r-- 9.6 KB
wt-status.c -rw-r--r-- 33.3 KB
wt-status.h -rw-r--r-- 2.1 KB
xdiff-interface.c -rw-r--r-- 7.0 KB
xdiff-interface.h -rw-r--r-- 944 bytes
zlib.c -rw-r--r-- 5.8 KB

README

back to top