##// END OF EJS Templates
convert: add a mode where mercurial_sink skips empty revisions....
convert: add a mode where mercurial_sink skips empty revisions. The getchanges function of some converter_source classes can return some false positives. I.e. they sometimes claim that a file "foo" was changed in some revision, even though its contents are still the same. convert_svn is particularly bad, but I think this can also happen with convert_cvs and, at least in theory, with mercurial_source. For regular conversions this is not really a problem - as long as getfile returns the right contents, we'll get a converted revision with the right contents. But when we use --filemap, this could lead to superfluous revisions being converted. Instead of fixing every converter_source, I decided to change mercurial_sink to work around this problem. When --filemap is used, we're interested only in revisions that touch some specific files. If a revision doesn't change any of these files, then we're not interested in it (at least for revisions with a single parent; merges are special). For mercurial_sink, we abuse this property and rollback a commit if the manifest text hasn't changed. This avoids duplicating the logic from localrepo.filecommit to detect unchanged files.

File last commit:

r4861:01ba6272 default
r5378:8a2915f5 default
Show More
test-debugcomplete.out
157 lines | 1.7 KiB | text/plain | TextLexer
/ tests / test-debugcomplete.out
% Show all commands except debug commands
add
addremove
annotate
archive
backout
branch
branches
bundle
cat
clone
commit
copy
diff
export
grep
heads
help
identify
import
incoming
init
locate
log
manifest
merge
outgoing
parents
paths
pull
push
recover
remove
rename
revert
rollback
root
serve
showconfig
status
tag
tags
tip
unbundle
update
verify
version
% Show all commands that start with "a"
add
addremove
annotate
archive
% Do not show debug commands if there are other candidates
diff
% Show debug commands if there are no other candidates
debugancestor
debugcheckstate
debugcomplete
debugconfig
debugdata
debugdate
debugindex
debugindexdot
debuginstall
debugrawcommit
debugrebuildstate
debugrename
debugsetparents
debugstate
debugwalk
% Do not show the alias of a debug command if there are other candidates
% (this should hide rawcommit)
recover
remove
rename
revert
rollback
root
% Show the alias of a debug command if there are no other candidates
rawcommit
% Show the global options
--config
--cwd
--debug
--debugger
--encoding
--encodingmode
--help
--lsprof
--noninteractive
--profile
--quiet
--repository
--time
--traceback
--verbose
--version
-R
-h
-q
-v
-y
% Show the options for the "serve" command
--accesslog
--address
--certificate
--config
--cwd
--daemon
--daemon-pipefds
--debug
--debugger
--encoding
--encodingmode
--errorlog
--help
--ipv6
--lsprof
--name
--noninteractive
--pid-file
--port
--profile
--quiet
--repository
--stdio
--style
--templates
--time
--traceback
--verbose
--version
--webdir-conf
-6
-A
-E
-R
-a
-d
-h
-n
-p
-q
-t
-v
-y
% Show an error if we use --options with an ambiguous abbreviation
hg: command 's' is ambiguous:
serve showconfig status