# HG changeset patch # User Thomas Arendsen Hein # Date 1122615801 -3600 # Node ID 445970ccf57a2fd39b95397c5e94c7f08c1fbad7 # Parent 49ec802b4a165d94ffc8b77fbd9ad88626a725c0# Parent f199e1887889f208806f70d348678c617839bbb2 Merge with upstream diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -527,7 +527,10 @@ def debugstate(ui, repo): keys = dc.keys() keys.sort() for file_ in keys: - ui.write("%c %s\n" % (dc[file_][0], file_)) + ui.write("%c %3o %10d %s %s\n" + % (dc[file_][0], dc[file_][1] & 0777, dc[file_][2], + time.strftime("%x %X", + time.localtime(dc[file_][3])), file_)) def debugindex(ui, file_): """dump the contents of an index file""" diff --git a/mercurial/hg.py b/mercurial/hg.py diff --git a/mercurial/transaction.py b/mercurial/transaction.py diff --git a/mercurial/util.py b/mercurial/util.py diff --git a/templates/changelogentry-rss.tmpl b/templates/changelogentry-rss.tmpl diff --git a/templates/filelogentry-rss.tmpl b/templates/filelogentry-rss.tmpl diff --git a/tests/README b/tests/README diff --git a/tests/run-tests b/tests/run-tests diff --git a/tests/test-bad-pull.out b/tests/test-bad-pull.out diff --git a/tests/test-basic.out b/tests/test-basic.out diff --git a/tests/test-clone-failure.out b/tests/test-clone-failure.out diff --git a/tests/test-copy.out b/tests/test-copy.out diff --git a/tests/test-diffdir b/tests/test-diffdir diff --git a/tests/test-flags.out b/tests/test-flags.out diff --git a/tests/test-hup.out b/tests/test-hup.out diff --git a/tests/test-merge-revert b/tests/test-merge-revert new file mode 100755 --- /dev/null +++ b/tests/test-merge-revert @@ -0,0 +1,45 @@ +#!/bin/sh -x + +mkdir t +cd t +hg init +echo "added file1" > file1 +echo "added file2" > file2 +hg add file1 file2 +hg commit -m "added file1 and file2" -d "0 0" -u user +echo "changed file1" >> file1 +hg commit -m "changed file1" -d "0 0" -u user +hg -q log +hg id +hg update -C 0 +hg id +echo "changed file1" >> file1 +hg id +hg revert +hg diff +hg status +hg id +hg update +hg diff +hg status +hg id +hg update -C 0 +echo "changed file1" >> file1 +HGMERGE=merge hg update +hg diff +hg status +hg id +hg revert +hg diff +hg status +hg id +hg revert -r tip +hg diff +hg status +hg id +hg update -C +hg diff +hg status +hg id +cd ..; /bin/rm -rf t + diff --git a/tests/test-merge-revert.out b/tests/test-merge-revert.out new file mode 100644 --- /dev/null +++ b/tests/test-merge-revert.out @@ -0,0 +1,56 @@ ++ mkdir t ++ cd t ++ hg init ++ echo 'added file1' ++ echo 'added file2' ++ hg add file1 file2 ++ hg commit -m 'added file1 and file2' -d '0 0' -u user ++ echo 'changed file1' ++ hg commit -m 'changed file1' -d '0 0' -u user ++ hg -q log +1:3aa14bbc23d90e3f8b5b639b4a43d76509bae76c +0:8633637036c18f021d771208e16ae3508ab81d28 ++ hg id +3aa14bbc23d9 tip ++ hg update -C 0 ++ hg id +8633637036c1 ++ echo 'changed file1' ++ hg id +8633637036c1+ ++ hg revert ++ hg diff ++ hg status ++ hg id +8633637036c1 ++ hg update ++ hg diff ++ hg status ++ hg id +3aa14bbc23d9 tip ++ hg update -C 0 ++ echo 'changed file1' ++ HGMERGE=merge ++ hg update +merging file1 ++ hg diff ++ hg status ++ hg id +3aa14bbc23d9 tip ++ hg revert ++ hg diff ++ hg status ++ hg id +3aa14bbc23d9 tip ++ hg revert -r tip ++ hg diff ++ hg status ++ hg id +3aa14bbc23d9 tip ++ hg update -C ++ hg diff ++ hg status ++ hg id +3aa14bbc23d9 tip ++ cd .. ++ /bin/rm -rf t diff --git a/tests/test-merge-revert2 b/tests/test-merge-revert2 new file mode 100755 --- /dev/null +++ b/tests/test-merge-revert2 @@ -0,0 +1,45 @@ +#!/bin/sh -x + +mkdir t +cd t +hg init +echo "added file1" > file1 +echo "added file2" > file2 +hg add file1 file2 +hg commit -m "added file1 and file2" -d "0 0" -u user +echo "changed file1" >> file1 +hg commit -m "changed file1" -d "0 0" -u user +hg -q log +hg id +hg update -C 0 +hg id +echo "changed file1" >> file1 +hg id +hg revert +hg diff +hg status +hg id +hg update +hg diff +hg status +hg id +hg update -C 0 +echo "changed file1 different" >> file1 +HGMERGE=merge hg update +hg diff | sed -e "s/\(\(---\|+++\).*\)\t.*/\1/" -e "s/\(<<<<<<<\|>>>>>>>\) .*/\1/" +hg status +hg id +hg revert +hg diff +hg status +hg id +hg revert -r tip +hg diff +hg status +hg id +hg update -C +hg diff +hg status +hg id +cd ..; /bin/rm -rf t + diff --git a/tests/test-merge-revert2.out b/tests/test-merge-revert2.out new file mode 100644 --- /dev/null +++ b/tests/test-merge-revert2.out @@ -0,0 +1,70 @@ ++ mkdir t ++ cd t ++ hg init ++ echo 'added file1' ++ echo 'added file2' ++ hg add file1 file2 ++ hg commit -m 'added file1 and file2' -d '0 0' -u user ++ echo 'changed file1' ++ hg commit -m 'changed file1' -d '0 0' -u user ++ hg -q log +1:3aa14bbc23d90e3f8b5b639b4a43d76509bae76c +0:8633637036c18f021d771208e16ae3508ab81d28 ++ hg id +3aa14bbc23d9 tip ++ hg update -C 0 ++ hg id +8633637036c1 ++ echo 'changed file1' ++ hg id +8633637036c1+ ++ hg revert ++ hg diff ++ hg status ++ hg id +8633637036c1 ++ hg update ++ hg diff ++ hg status ++ hg id +3aa14bbc23d9 tip ++ hg update -C 0 ++ echo 'changed file1 different' ++ HGMERGE=merge ++ hg update +merge: warning: conflicts during merge +merging file1 +merging file1 failed! ++ hg diff ++ sed -e 's/\(\(---\|+++\).*\)\t.*/\1/' -e 's/\(<<<<<<<\|>>>>>>>\) .*/\1/' +diff -r 3aa14bbc23d9 file1 +--- a/file1 ++++ b/file1 +@@ -1,2 +1,6 @@ + added file1 ++<<<<<<< ++changed file1 different ++======= + changed file1 ++>>>>>>> ++ hg status +M file1 ++ hg id +3aa14bbc23d9+ tip ++ hg revert ++ hg diff ++ hg status ++ hg id +3aa14bbc23d9 tip ++ hg revert -r tip ++ hg diff ++ hg status ++ hg id +3aa14bbc23d9 tip ++ hg update -C ++ hg diff ++ hg status ++ hg id +3aa14bbc23d9 tip ++ cd .. ++ /bin/rm -rf t diff --git a/tests/test-merge6.out b/tests/test-merge6.out diff --git a/tests/test-pull b/tests/test-pull --- a/tests/test-pull +++ b/tests/test-pull @@ -8,6 +8,7 @@ hg addremove hg commit -m 1 hg verify hg serve -p 20059 > /dev/null & +sleep 1 # wait for server to be started cd .. hg clone http://localhost:20059/ copy diff --git a/tests/test-pull.out b/tests/test-pull.out diff --git a/tests/test-rawcommit1.out b/tests/test-rawcommit1.out diff --git a/tests/test-simple-update.out b/tests/test-simple-update.out diff --git a/tests/test-tag.out b/tests/test-tag.out diff --git a/tests/test-undo.out b/tests/test-undo.out diff --git a/tests/test-unrelated-pull.out b/tests/test-unrelated-pull.out diff --git a/tests/test-up-local-change b/tests/test-up-local-change diff --git a/tests/test-up-local-change.out b/tests/test-up-local-change.out