subrepo: drop the 'ui' parameter to revert()
This no longer needs to be explicitly passed because the subrepo object tracks
the 'ui' reference since fcbc66b5da6a. See the change to 'archive' for details
about the differences between the output level in the root repo and subrepo 'ui'
object.
The only use for 'ui' in revert is to emit status and warning messages, and to
check the verbose flag prior to printing the action to be performed on a file.
The local repo's ui was already being used to print a warning message in
wctx.forget() and for 'ui.slash' when walking dirstate in the repo.status()
call. Unlike other methods where the matcher is passed along and narrowed, a
new matcher is created in each repo, and therefore the bad() method already used
the local repo's ui.
#require git
$ echo "[core]" >> $HOME/.gitconfig
$ echo "autocrlf = false" >> $HOME/.gitconfig
$ echo "[core]" >> $HOME/.gitconfig
$ echo "autocrlf = false" >> $HOME/.gitconfig
$ cat <<EOF >> $HGRCPATH
> [extensions]
> convert =
> [convert]
> hg.usebranchnames = True
> hg.tagsbranch = tags-update
> EOF
$ GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME
$ GIT_AUTHOR_EMAIL='test@example.org'; export GIT_AUTHOR_EMAIL
$ GIT_AUTHOR_DATE="2007-01-01 00:00:00 +0000"; export GIT_AUTHOR_DATE
$ GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; export GIT_COMMITTER_NAME
$ GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"; export GIT_COMMITTER_EMAIL
$ GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"; export GIT_COMMITTER_DATE
$ count=10
$ action()
> {
> GIT_AUTHOR_DATE="2007-01-01 00:00:$count +0000"
> GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
> git "$@" >/dev/null 2>/dev/null || echo "git command error"
> count=`expr $count + 1`
> }
$ glog()
> {
> hg log -G --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
> }
$ convertrepo()
> {
> hg convert --datesort git-repo hg-repo
> }
Build a GIT repo with at least 1 tag
$ mkdir git-repo
$ cd git-repo
$ git init >/dev/null 2>&1
$ echo a > a
$ git add a
$ action commit -m "rev1"
$ action tag -m "tag1" tag1
$ cd ..
Do a first conversion
$ convertrepo
initializing destination hg-repo repository
scanning source...
sorting...
converting...
0 rev1
updating tags
updating bookmarks
Simulate upstream updates after first conversion
$ cd git-repo
$ echo b > a
$ git add a
$ action commit -m "rev2"
$ action tag -m "tag2" tag2
$ cd ..
Perform an incremental conversion
$ convertrepo
scanning source...
sorting...
converting...
0 rev2
updating tags
updating bookmarks
Print the log
$ cd hg-repo
$ glog
o 3 "update tags" files: .hgtags
|
| o 2 "rev2" files: a
| |
o | 1 "update tags" files: .hgtags
/
o 0 "rev1" files: a
$ cd ..