swh:1:snp:bb8853bfef8fcf2b1d37fd6404912c7606c98e48
Revision e48fb750f579f993062e0e5901e70bd7ddfc94b8 authored by Robert Luberda on 08 August 2012, 05:35:00 UTC, committed by Eric Wong on 10 August 2012, 19:53:18 UTC
dcommit didn't handle errors returned by SVN and coped very poorly with concurrent commits that appear in SVN repository while dcommit was running. In both cases it left git repository in inconsistent state: index (which was reset with `git reset --mixed' after a successful commit to SVN) no longer matched the checkouted tree, when the following commit failed or needed to be rebased. See http://bugs.debian.org/676904 for examples. This patch fixes the issues by: - introducing error handler for dcommit. The handler will try to rebase or reset working tree before returning error to the end user. dcommit_rebase function was extracted out of cmd_dcommit to ensure consistency between cmd_dcommit and the error handler. - calling `git reset --mixed' only once after all patches are successfully committed to SVN. This ensures index is not touched for most of the time of dcommit run. Signed-off-by: Eric Wong <normalperson@yhbt.net>
1 parent 034161a
Tip revision: 19981daefd7c147444462739375462b49412ce33 authored by Junio C Hamano on 05 April 2024, 17:49:37 UTC
The fifteenth batch
The fifteenth batch
Tip revision: 19981da
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.3 KB |
.mailmap | -rw-r--r-- | 3.0 KB |
COPYING | -rw-r--r-- | 18.3 KB |
GIT-VERSION-GEN | -rwxr-xr-x | 757 bytes |
INSTALL | -rw-r--r-- | 8.5 KB |
LGPL-2.1 | -rw-r--r-- | 26.2 KB |
Makefile | -rw-r--r-- | 82.0 KB |
README | -rw-r--r-- | 2.5 KB |
RelNotes | l--------- | 33 bytes |
abspath.c | -rw-r--r-- | 4.2 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-- | 11.3 KB |
archive.c | -rw-r--r-- | 11.8 KB |
archive.h | -rw-r--r-- | 1.3 KB |
argv-array.c | -rw-r--r-- | 1.2 KB |
argv-array.h | -rw-r--r-- | 513 bytes |
attr.c | -rw-r--r-- | 19.0 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.9 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.9 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-- | 7.9 KB |
commit.c | -rw-r--r-- | 28.7 KB |
commit.h | -rw-r--r-- | 7.4 KB |
config.c | -rw-r--r-- | 37.6 KB |
config.mak.in | -rw-r--r-- | 1.9 KB |
configure.ac | -rw-r--r-- | 30.5 KB |
connect.c | -rw-r--r-- | 14.1 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-- | 29.1 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-- | 13.8 KB |
diff-no-index.c | -rw-r--r-- | 6.3 KB |
diff.c | -rw-r--r-- | 129.9 KB |
diff.h | -rw-r--r-- | 10.9 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.0 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-- | 495 bytes |
fixup-builtins | -rwxr-xr-x | 432 bytes |
fmt-merge-msg.h | -rw-r--r-- | 187 bytes |
fsck.c | -rw-r--r-- | 9.5 KB |
fsck.h | -rw-r--r-- | 1.0 KB |
generate-cmdlist.sh | -rwxr-xr-x | 433 bytes |
gettext.c | -rw-r--r-- | 3.8 KB |
gettext.h | -rw-r--r-- | 1.3 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-- | 15.0 KB |
git-cvsexportcommit.perl | -rwxr-xr-x | 12.6 KB |
git-cvsimport.perl | -rwxr-xr-x | 29.5 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 | 9.9 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.2 KB |
git-mergetool.sh | -rwxr-xr-x | 9.3 KB |
git-p4.py | -rwxr-xr-x | 109.9 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.0 KB |
git-rebase--merge.sh | -rw-r--r-- | 3.0 KB |
git-rebase.sh | -rwxr-xr-x | 13.0 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.4 KB |
git-sh-i18n.sh | -rw-r--r-- | 2.0 KB |
git-sh-setup.sh | -rw-r--r-- | 4.9 KB |
git-stash.sh | -rwxr-xr-x | 12.6 KB |
git-submodule.sh | -rwxr-xr-x | 23.7 KB |
git-svn.perl | -rwxr-xr-x | 59.6 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-- | 34.5 KB |
graph.h | -rw-r--r-- | 3.6 KB |
grep.c | -rw-r--r-- | 31.0 KB |
grep.h | -rw-r--r-- | 4.1 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.8 KB |
http-walker.c | -rw-r--r-- | 13.9 KB |
http.c | -rw-r--r-- | 32.3 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.0 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-- | 58.1 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-- | 35.8 KB |
notes.h | -rw-r--r-- | 11.9 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.5 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.7 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.4 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-- | 829 bytes |
resolve-undo.c | -rw-r--r-- | 3.9 KB |
resolve-undo.h | -rw-r--r-- | 546 bytes |
revision.c | -rw-r--r-- | 65.5 KB |
revision.h | -rw-r--r-- | 5.8 KB |
run-command.c | -rw-r--r-- | 16.2 KB |
run-command.h | -rw-r--r-- | 2.9 KB |
send-pack.h | -rw-r--r-- | 403 bytes |
sequencer.c | -rw-r--r-- | 27.3 KB |
sequencer.h | -rw-r--r-- | 903 bytes |
server-info.c | -rw-r--r-- | 5.1 KB |
setup.c | -rw-r--r-- | 21.4 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-- | 631 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.1 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.9 KB |
strbuf.h | -rw-r--r-- | 4.8 KB |
streaming.c | -rw-r--r-- | 11.6 KB |
streaming.h | -rw-r--r-- | 504 bytes |
string-list.c | -rw-r--r-- | 4.7 KB |
string-list.h | -rw-r--r-- | 2.1 KB |
submodule.c | -rw-r--r-- | 26.2 KB |
submodule.h | -rw-r--r-- | 1.5 KB |
symlinks.c | -rw-r--r-- | 9.2 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-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-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.3 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-- | 19.9 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.3 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-- | 282 bytes |
version.h | -rw-r--r-- | 136 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.7 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.2 KB |
wt-status.h | -rw-r--r-- | 2.3 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 |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...