git-commit-vandalism/builtin
Johannes Sixt 4ce6fb8058 fast-export: ensure that a renamed file is printed after all references
t9350 sets up a commit where a file is both copied and renamed. The output
of fast-export for this commit should look like this:

  author ...
  committer ...
  from :19
  C "file2" "file4"
  R "file2" "file5"

The order of the two modification lines is derived from the result that
the diff machinery produces.

060df62 (fast-export: Fix output order of D/F changes) inserted a qsort
call that modifies the order of the diff result. Unfortunately, qsort need
not be stable. Therefore, it is possible that the 'R' line appears before
the 'C' line and the resulting fast-import stream is incorrect.

Fix it by forcing that the rename entry is printed after all other
modification lines with the same file name.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-08 08:53:54 -07:00
..
add.c
annotate.c
apply.c Merge branch 'maint' 2010-04-09 22:43:18 -07:00
archive.c
bisect--helper.c
blame.c
branch.c
bundle.c
cat-file.c
check-attr.c
check-ref-format.c
checkout-index.c
checkout.c checkout -m --conflict=diff3: add a label for ancestor 2010-03-20 20:36:11 -07:00
clean.c
clone.c Merge branch 'tc/transport-verbosity' 2010-03-15 00:58:42 -07:00
commit-tree.c
commit.c builtin/commit: remove unnecessary variable definition 2010-04-02 11:38:00 -07:00
config.c
count-objects.c
describe.c
diff-files.c
diff-index.c
diff-tree.c Merge branch 'pb/log-first-parent-p-m' 2010-03-24 16:25:39 -07:00
diff.c
fast-export.c fast-export: ensure that a renamed file is printed after all references 2010-09-08 08:53:54 -07:00
fetch-pack.c
fetch.c Merge branch 'maint' 2010-04-09 22:43:18 -07:00
fmt-merge-msg.c fmt-merge-msg: hide summary option 2010-03-24 19:45:31 -07:00
for-each-ref.c
fsck.c
gc.c
grep.c Merge branch 'rs/threaded-grep-context' 2010-04-03 12:28:39 -07:00
hash-object.c
help.c
index-pack.c
init-db.c
log.c pretty: Initialize notes if %N is used 2010-04-13 18:15:08 -07:00
ls-files.c ls: remove redundant logic 2010-03-21 16:23:44 -07:00
ls-remote.c
ls-tree.c ls: remove redundant logic 2010-03-21 16:23:44 -07:00
mailinfo.c Teach mailinfo %< as an alternative scissors mark 2010-04-04 10:17:55 -07:00
mailsplit.c
merge-base.c
merge-file.c merge-file --diff3: add a label for ancestor 2010-03-20 20:36:11 -07:00
merge-index.c
merge-ours.c
merge-recursive.c
merge-tree.c
merge.c Merge branch 'cc/cherry-pick-ff' 2010-03-28 21:52:28 -07:00
mktag.c
mktree.c
mv.c
name-rev.c
notes.c Merge branch 'sb/notes-parse-opt' 2010-03-28 21:52:28 -07:00
pack-objects.c
pack-redundant.c
pack-refs.c
patch-id.c
prune-packed.c
prune.c
push.c Merge branch 'maint' 2010-04-09 22:43:18 -07:00
read-tree.c
receive-pack.c Move 'builtin-*' into a 'builtin/' subdirectory 2010-02-22 14:29:41 -08:00
reflog.c Merge branch 'maint' 2010-04-19 22:41:30 -07:00
remote.c
replace.c
rerere.c
reset.c Sync with 1.7.0.4 2010-03-31 15:14:27 -07:00
rev-list.c Merge branch 'ef/maint-empty-commit-log' 2010-04-06 14:50:46 -07:00
rev-parse.c
revert.c Merge branch 'jn/merge-diff3-label' 2010-04-03 12:28:41 -07:00
rm.c
send-pack.c
shortlog.c
show-branch.c
show-ref.c
stripspace.c
symbolic-ref.c
tag.c tag -v: use RUN_GIT_CMD to run verify-tag 2010-04-17 12:40:19 -07:00
tar-tree.c
unpack-file.c
unpack-objects.c
update-index.c
update-ref.c
update-server-info.c
upload-archive.c
var.c
verify-pack.c
verify-tag.c
write-tree.c