--- a/tests/test-globalopts Fri Sep 03 14:29:28 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-#!/bin/sh
-
-"$TESTDIR/hghave" no-outer-repo || exit 80
-
-hg init a
-cd a
-echo a > a
-hg ci -A -d'1 0' -m a
-
-cd ..
-
-hg init b
-cd b
-echo b > b
-hg ci -A -d'1 0' -m b
-
-cd ..
-
-hg clone a c
-cd c
-hg pull -f ../b
-hg merge
-
-cd ..
-
-echo %% -R/--repository
-hg -R a tip
-hg --repository b tip
-
-echo %% implicit -R
-hg ann a/a
-hg ann a/a a/a
-hg ann a/a b/b
-hg -R b ann a/a
-hg log
-
-echo %% abbrev of long option
-hg --repo c tip
-
-echo "%% earlygetopt with duplicate options (36d23de02da1)"
-hg --cwd a --cwd b --cwd c tip
-hg --repo c --repository b -R a tip
-
-echo "%% earlygetopt short option without following space"
-hg -q -Rb tip
-
-echo "%% earlygetopt with illegal abbreviations"
-hg --confi "foo.bar=baz"
-hg --cw a tip
-hg --rep a tip
-hg --repositor a tip
-hg -qR a tip
-hg -qRa tip
-
-echo %% --cwd
-hg --cwd a parents
-
-echo %% -y/--noninteractive - just be sure it is parsed
-hg --cwd a tip -q --noninteractive
-hg --cwd a tip -q -y
-
-echo %% -q/--quiet
-hg -R a -q tip
-hg -R b -q tip
-hg -R c --quiet parents
-
-echo %% -v/--verbose
-hg --cwd c head -v
-hg --cwd b tip --verbose
-
-echo %% --config
-hg --cwd c --config paths.quuxfoo=bar paths | grep quuxfoo > /dev/null && echo quuxfoo
-hg --cwd c --config '' tip -q
-hg --cwd c --config a.b tip -q
-hg --cwd c --config a tip -q
-hg --cwd c --config a.= tip -q
-hg --cwd c --config .b= tip -q
-
-echo %% --debug
-hg --cwd c log --debug
-
-echo %% --traceback
-hg --cwd c --config x --traceback tip 2>&1 | grep -i 'traceback'
-
-echo %% --time
-hg --cwd a --time tip 2>&1 | grep '^Time:' | sed 's/[0-9][0-9]*/x/g'
-
-echo %% --version
-hg --version -q | sed 's/version [^)]*/version xxx/'
-
-echo %% -h/--help
-hg -h
-hg --help
-
-echo %% not tested: --debugger
-
--- a/tests/test-globalopts.out Fri Sep 03 14:29:28 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,292 +0,0 @@
-adding a
-adding b
-updating to branch default
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-pulling from ../b
-searching for changes
-warning: repository is unrelated
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files (+1 heads)
-(run 'hg heads' to see heads, 'hg merge' to merge)
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-(branch merge, don't forget to commit)
-%% -R/--repository
-changeset: 0:8580ff50825a
-tag: tip
-user: test
-date: Thu Jan 01 00:00:01 1970 +0000
-summary: a
-
-changeset: 0:b6c483daf290
-tag: tip
-user: test
-date: Thu Jan 01 00:00:01 1970 +0000
-summary: b
-
-%% implicit -R
-0: a
-0: a
-abort: There is no Mercurial repository here (.hg not found)!
-abort: a/a not under root
-abort: There is no Mercurial repository here (.hg not found)!
-%% abbrev of long option
-changeset: 1:b6c483daf290
-tag: tip
-parent: -1:000000000000
-user: test
-date: Thu Jan 01 00:00:01 1970 +0000
-summary: b
-
-%% earlygetopt with duplicate options (36d23de02da1)
-changeset: 1:b6c483daf290
-tag: tip
-parent: -1:000000000000
-user: test
-date: Thu Jan 01 00:00:01 1970 +0000
-summary: b
-
-changeset: 0:8580ff50825a
-tag: tip
-user: test
-date: Thu Jan 01 00:00:01 1970 +0000
-summary: a
-
-%% earlygetopt short option without following space
-0:b6c483daf290
-%% earlygetopt with illegal abbreviations
-abort: option --config may not be abbreviated!
-abort: option --cwd may not be abbreviated!
-abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
-abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
-abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
-abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
-%% --cwd
-changeset: 0:8580ff50825a
-tag: tip
-user: test
-date: Thu Jan 01 00:00:01 1970 +0000
-summary: a
-
-%% -y/--noninteractive - just be sure it is parsed
-0:8580ff50825a
-0:8580ff50825a
-%% -q/--quiet
-0:8580ff50825a
-0:b6c483daf290
-0:8580ff50825a
-1:b6c483daf290
-%% -v/--verbose
-changeset: 1:b6c483daf290
-tag: tip
-parent: -1:000000000000
-user: test
-date: Thu Jan 01 00:00:01 1970 +0000
-files: b
-description:
-b
-
-
-changeset: 0:8580ff50825a
-user: test
-date: Thu Jan 01 00:00:01 1970 +0000
-files: a
-description:
-a
-
-
-changeset: 0:b6c483daf290
-tag: tip
-user: test
-date: Thu Jan 01 00:00:01 1970 +0000
-files: b
-description:
-b
-
-
-%% --config
-quuxfoo
-abort: malformed --config option: '' (use --config section.name=value)
-abort: malformed --config option: 'a.b' (use --config section.name=value)
-abort: malformed --config option: 'a' (use --config section.name=value)
-abort: malformed --config option: 'a.=' (use --config section.name=value)
-abort: malformed --config option: '.b=' (use --config section.name=value)
-%% --debug
-changeset: 1:b6c483daf2907ce5825c0bb50f5716226281cc1a
-tag: tip
-parent: -1:0000000000000000000000000000000000000000
-parent: -1:0000000000000000000000000000000000000000
-manifest: 1:23226e7a252cacdc2d99e4fbdc3653441056de49
-user: test
-date: Thu Jan 01 00:00:01 1970 +0000
-files+: b
-extra: branch=default
-description:
-b
-
-
-changeset: 0:8580ff50825a50c8f716709acdf8de0deddcd6ab
-parent: -1:0000000000000000000000000000000000000000
-parent: -1:0000000000000000000000000000000000000000
-manifest: 0:a0c8bcbbb45c63b90b70ad007bf38961f64f2af0
-user: test
-date: Thu Jan 01 00:00:01 1970 +0000
-files+: a
-extra: branch=default
-description:
-a
-
-
-%% --traceback
-Traceback (most recent call last):
-%% --time
-Time: real x.x secs (user x.x+x.x sys x.x+x.x)
-%% --version
-Mercurial Distributed SCM (version xxx)
-%% -h/--help
-Mercurial Distributed SCM
-
-list of commands:
-
- add add the specified files on the next commit
- addremove add all new files, delete all missing files
- annotate show changeset information by line for each file
- archive create an unversioned archive of a repository revision
- backout reverse effect of earlier changeset
- bisect subdivision search of changesets
- branch set or show the current branch name
- branches list repository named branches
- bundle create a changegroup file
- cat output the current or given revision of files
- clone make a copy of an existing repository
- commit commit the specified files or all outstanding changes
- copy mark files as copied for the next commit
- diff diff repository (or selected files)
- export dump the header and diffs for one or more changesets
- forget forget the specified files on the next commit
- grep search for a pattern in specified files and revisions
- heads show current repository heads or show branch heads
- help show help for a given topic or a help overview
- identify identify the working copy or specified revision
- import import an ordered set of patches
- incoming show new changesets found in source
- init create a new repository in the given directory
- locate locate files matching specific patterns
- log show revision history of entire repository or files
- manifest output the current or given revision of the project manifest
- merge merge working directory with another revision
- outgoing show changesets not found in the destination
- parents show the parents of the working directory or revision
- paths show aliases for remote repositories
- pull pull changes from the specified source
- push push changes to the specified destination
- recover roll back an interrupted transaction
- remove remove the specified files on the next commit
- rename rename files; equivalent of copy + remove
- resolve redo merges or set/view the merge status of files
- revert restore individual files or directories to an earlier state
- rollback roll back the last transaction (dangerous)
- root print the root (top) of the current working directory
- serve start stand-alone webserver
- showconfig show combined config settings from all hgrc files
- status show changed files in the working directory
- summary summarize working directory state
- tag add one or more tags for the current or given revision
- tags list repository tags
- tip show the tip revision
- unbundle apply one or more changegroup files
- update update working directory (or switch revisions)
- verify verify the integrity of the repository
- version output version and copyright information
-
-additional help topics:
-
- config Configuration Files
- dates Date Formats
- patterns File Name Patterns
- environment Environment Variables
- revisions Specifying Single Revisions
- multirevs Specifying Multiple Revisions
- revsets Specifying Revision Sets
- diffs Diff Formats
- templating Template Usage
- urls URL Paths
- extensions Using additional features
- hgweb Configuring hgweb
- glossary Glossary
-
-use "hg -v help" to show aliases and global options
-Mercurial Distributed SCM
-
-list of commands:
-
- add add the specified files on the next commit
- addremove add all new files, delete all missing files
- annotate show changeset information by line for each file
- archive create an unversioned archive of a repository revision
- backout reverse effect of earlier changeset
- bisect subdivision search of changesets
- branch set or show the current branch name
- branches list repository named branches
- bundle create a changegroup file
- cat output the current or given revision of files
- clone make a copy of an existing repository
- commit commit the specified files or all outstanding changes
- copy mark files as copied for the next commit
- diff diff repository (or selected files)
- export dump the header and diffs for one or more changesets
- forget forget the specified files on the next commit
- grep search for a pattern in specified files and revisions
- heads show current repository heads or show branch heads
- help show help for a given topic or a help overview
- identify identify the working copy or specified revision
- import import an ordered set of patches
- incoming show new changesets found in source
- init create a new repository in the given directory
- locate locate files matching specific patterns
- log show revision history of entire repository or files
- manifest output the current or given revision of the project manifest
- merge merge working directory with another revision
- outgoing show changesets not found in the destination
- parents show the parents of the working directory or revision
- paths show aliases for remote repositories
- pull pull changes from the specified source
- push push changes to the specified destination
- recover roll back an interrupted transaction
- remove remove the specified files on the next commit
- rename rename files; equivalent of copy + remove
- resolve redo merges or set/view the merge status of files
- revert restore individual files or directories to an earlier state
- rollback roll back the last transaction (dangerous)
- root print the root (top) of the current working directory
- serve start stand-alone webserver
- showconfig show combined config settings from all hgrc files
- status show changed files in the working directory
- summary summarize working directory state
- tag add one or more tags for the current or given revision
- tags list repository tags
- tip show the tip revision
- unbundle apply one or more changegroup files
- update update working directory (or switch revisions)
- verify verify the integrity of the repository
- version output version and copyright information
-
-additional help topics:
-
- config Configuration Files
- dates Date Formats
- patterns File Name Patterns
- environment Environment Variables
- revisions Specifying Single Revisions
- multirevs Specifying Multiple Revisions
- revsets Specifying Revision Sets
- diffs Diff Formats
- templating Template Usage
- urls URL Paths
- extensions Using additional features
- hgweb Configuring hgweb
- glossary Glossary
-
-use "hg -v help" to show aliases and global options
-%% not tested: --debugger
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-globalopts.t Fri Sep 03 22:10:08 2010 +0200
@@ -0,0 +1,387 @@
+ $ "$TESTDIR/hghave" no-outer-repo || exit 80
+
+ $ hg init a
+ $ cd a
+ $ echo a > a
+ $ hg ci -A -d'1 0' -m a
+ adding a
+
+ $ cd ..
+
+ $ hg init b
+ $ cd b
+ $ echo b > b
+ $ hg ci -A -d'1 0' -m b
+ adding b
+
+ $ cd ..
+
+ $ hg clone a c
+ updating to branch default
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ cd c
+ $ hg pull -f ../b
+ pulling from ../b
+ searching for changes
+ warning: repository is unrelated
+ adding changesets
+ adding manifests
+ adding file changes
+ added 1 changesets with 1 changes to 1 files (+1 heads)
+ (run 'hg heads' to see heads, 'hg merge' to merge)
+ $ hg merge
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ (branch merge, don't forget to commit)
+
+ $ cd ..
+
+Testing -R/--repository:
+
+ $ hg -R a tip
+ changeset: 0:8580ff50825a
+ tag: tip
+ user: test
+ date: Thu Jan 01 00:00:01 1970 +0000
+ summary: a
+
+ $ hg --repository b tip
+ changeset: 0:b6c483daf290
+ tag: tip
+ user: test
+ date: Thu Jan 01 00:00:01 1970 +0000
+ summary: b
+
+
+Implicit -R:
+
+ $ hg ann a/a
+ 0: a
+ $ hg ann a/a a/a
+ 0: a
+ $ hg ann a/a b/b
+ abort: There is no Mercurial repository here (.hg not found)!
+ $ hg -R b ann a/a
+ abort: a/a not under root
+ $ hg log
+ abort: There is no Mercurial repository here (.hg not found)!
+
+Abbreviation of long option:
+
+ $ hg --repo c tip
+ changeset: 1:b6c483daf290
+ tag: tip
+ parent: -1:000000000000
+ user: test
+ date: Thu Jan 01 00:00:01 1970 +0000
+ summary: b
+
+
+earlygetopt with duplicate options (36d23de02da1):
+
+ $ hg --cwd a --cwd b --cwd c tip
+ changeset: 1:b6c483daf290
+ tag: tip
+ parent: -1:000000000000
+ user: test
+ date: Thu Jan 01 00:00:01 1970 +0000
+ summary: b
+
+ $ hg --repo c --repository b -R a tip
+ changeset: 0:8580ff50825a
+ tag: tip
+ user: test
+ date: Thu Jan 01 00:00:01 1970 +0000
+ summary: a
+
+
+earlygetopt short option without following space:
+
+ $ hg -q -Rb tip
+ 0:b6c483daf290
+
+earlygetopt with illegal abbreviations:
+
+ $ hg --confi "foo.bar=baz"
+ abort: option --config may not be abbreviated!
+ $ hg --cw a tip
+ abort: option --cwd may not be abbreviated!
+ $ hg --rep a tip
+ abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
+ $ hg --repositor a tip
+ abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
+ $ hg -qR a tip
+ abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
+ $ hg -qRa tip
+ abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
+
+Testing --cwd:
+
+ $ hg --cwd a parents
+ changeset: 0:8580ff50825a
+ tag: tip
+ user: test
+ date: Thu Jan 01 00:00:01 1970 +0000
+ summary: a
+
+
+Testing -y/--noninteractive - just be sure it is parsed:
+
+ $ hg --cwd a tip -q --noninteractive
+ 0:8580ff50825a
+ $ hg --cwd a tip -q -y
+ 0:8580ff50825a
+
+Testing -q/--quiet:
+
+ $ hg -R a -q tip
+ 0:8580ff50825a
+ $ hg -R b -q tip
+ 0:b6c483daf290
+ $ hg -R c --quiet parents
+ 0:8580ff50825a
+ 1:b6c483daf290
+
+Testing -v/--verbose:
+
+ $ hg --cwd c head -v
+ changeset: 1:b6c483daf290
+ tag: tip
+ parent: -1:000000000000
+ user: test
+ date: Thu Jan 01 00:00:01 1970 +0000
+ files: b
+ description:
+ b
+
+
+ changeset: 0:8580ff50825a
+ user: test
+ date: Thu Jan 01 00:00:01 1970 +0000
+ files: a
+ description:
+ a
+
+
+ $ hg --cwd b tip --verbose
+ changeset: 0:b6c483daf290
+ tag: tip
+ user: test
+ date: Thu Jan 01 00:00:01 1970 +0000
+ files: b
+ description:
+ b
+
+
+
+Testing --config:
+
+ $ hg --cwd c --config paths.quuxfoo=bar paths | grep quuxfoo > /dev/null && echo quuxfoo
+ quuxfoo
+ $ hg --cwd c --config '' tip -q
+ abort: malformed --config option: '' (use --config section.name=value)
+ $ hg --cwd c --config a.b tip -q
+ abort: malformed --config option: 'a.b' (use --config section.name=value)
+ $ hg --cwd c --config a tip -q
+ abort: malformed --config option: 'a' (use --config section.name=value)
+ $ hg --cwd c --config a.= tip -q
+ abort: malformed --config option: 'a.=' (use --config section.name=value)
+ $ hg --cwd c --config .b= tip -q
+ abort: malformed --config option: '.b=' (use --config section.name=value)
+
+Testing --debug:
+
+ $ hg --cwd c log --debug
+ changeset: 1:b6c483daf2907ce5825c0bb50f5716226281cc1a
+ tag: tip
+ parent: -1:0000000000000000000000000000000000000000
+ parent: -1:0000000000000000000000000000000000000000
+ manifest: 1:23226e7a252cacdc2d99e4fbdc3653441056de49
+ user: test
+ date: Thu Jan 01 00:00:01 1970 +0000
+ files+: b
+ extra: branch=default
+ description:
+ b
+
+
+ changeset: 0:8580ff50825a50c8f716709acdf8de0deddcd6ab
+ parent: -1:0000000000000000000000000000000000000000
+ parent: -1:0000000000000000000000000000000000000000
+ manifest: 0:a0c8bcbbb45c63b90b70ad007bf38961f64f2af0
+ user: test
+ date: Thu Jan 01 00:00:01 1970 +0000
+ files+: a
+ extra: branch=default
+ description:
+ a
+
+
+
+Testing --traceback:
+
+ $ hg --cwd c --config x --traceback id 2>&1 | grep -i 'traceback'
+ Traceback (most recent call last):
+
+Testing --time:
+
+ $ hg --cwd a --time id
+ 8580ff50825a tip
+ Time: real .*
+
+Testing --version:
+
+ $ hg --version -q
+ Mercurial Distributed SCM .*
+
+Testing -h/--help:
+
+ $ hg -h
+ Mercurial Distributed SCM
+
+ list of commands:
+
+ add add the specified files on the next commit
+ addremove add all new files, delete all missing files
+ annotate show changeset information by line for each file
+ archive create an unversioned archive of a repository revision
+ backout reverse effect of earlier changeset
+ bisect subdivision search of changesets
+ branch set or show the current branch name
+ branches list repository named branches
+ bundle create a changegroup file
+ cat output the current or given revision of files
+ clone make a copy of an existing repository
+ commit commit the specified files or all outstanding changes
+ copy mark files as copied for the next commit
+ diff diff repository (or selected files)
+ export dump the header and diffs for one or more changesets
+ forget forget the specified files on the next commit
+ grep search for a pattern in specified files and revisions
+ heads show current repository heads or show branch heads
+ help show help for a given topic or a help overview
+ identify identify the working copy or specified revision
+ import import an ordered set of patches
+ incoming show new changesets found in source
+ init create a new repository in the given directory
+ locate locate files matching specific patterns
+ log show revision history of entire repository or files
+ manifest output the current or given revision of the project manifest
+ merge merge working directory with another revision
+ outgoing show changesets not found in the destination
+ parents show the parents of the working directory or revision
+ paths show aliases for remote repositories
+ pull pull changes from the specified source
+ push push changes to the specified destination
+ recover roll back an interrupted transaction
+ remove remove the specified files on the next commit
+ rename rename files; equivalent of copy + remove
+ resolve redo merges or set/view the merge status of files
+ revert restore individual files or directories to an earlier state
+ rollback roll back the last transaction (dangerous)
+ root print the root (top) of the current working directory
+ serve start stand-alone webserver
+ showconfig show combined config settings from all hgrc files
+ status show changed files in the working directory
+ summary summarize working directory state
+ tag add one or more tags for the current or given revision
+ tags list repository tags
+ tip show the tip revision
+ unbundle apply one or more changegroup files
+ update update working directory (or switch revisions)
+ verify verify the integrity of the repository
+ version output version and copyright information
+
+ additional help topics:
+
+ config Configuration Files
+ dates Date Formats
+ patterns File Name Patterns
+ environment Environment Variables
+ revisions Specifying Single Revisions
+ multirevs Specifying Multiple Revisions
+ revsets Specifying Revision Sets
+ diffs Diff Formats
+ templating Template Usage
+ urls URL Paths
+ extensions Using additional features
+ hgweb Configuring hgweb
+ glossary Glossary
+
+ use "hg -v help" to show aliases and global options
+
+ $ hg --help
+ Mercurial Distributed SCM
+
+ list of commands:
+
+ add add the specified files on the next commit
+ addremove add all new files, delete all missing files
+ annotate show changeset information by line for each file
+ archive create an unversioned archive of a repository revision
+ backout reverse effect of earlier changeset
+ bisect subdivision search of changesets
+ branch set or show the current branch name
+ branches list repository named branches
+ bundle create a changegroup file
+ cat output the current or given revision of files
+ clone make a copy of an existing repository
+ commit commit the specified files or all outstanding changes
+ copy mark files as copied for the next commit
+ diff diff repository (or selected files)
+ export dump the header and diffs for one or more changesets
+ forget forget the specified files on the next commit
+ grep search for a pattern in specified files and revisions
+ heads show current repository heads or show branch heads
+ help show help for a given topic or a help overview
+ identify identify the working copy or specified revision
+ import import an ordered set of patches
+ incoming show new changesets found in source
+ init create a new repository in the given directory
+ locate locate files matching specific patterns
+ log show revision history of entire repository or files
+ manifest output the current or given revision of the project manifest
+ merge merge working directory with another revision
+ outgoing show changesets not found in the destination
+ parents show the parents of the working directory or revision
+ paths show aliases for remote repositories
+ pull pull changes from the specified source
+ push push changes to the specified destination
+ recover roll back an interrupted transaction
+ remove remove the specified files on the next commit
+ rename rename files; equivalent of copy + remove
+ resolve redo merges or set/view the merge status of files
+ revert restore individual files or directories to an earlier state
+ rollback roll back the last transaction (dangerous)
+ root print the root (top) of the current working directory
+ serve start stand-alone webserver
+ showconfig show combined config settings from all hgrc files
+ status show changed files in the working directory
+ summary summarize working directory state
+ tag add one or more tags for the current or given revision
+ tags list repository tags
+ tip show the tip revision
+ unbundle apply one or more changegroup files
+ update update working directory (or switch revisions)
+ verify verify the integrity of the repository
+ version output version and copyright information
+
+ additional help topics:
+
+ config Configuration Files
+ dates Date Formats
+ patterns File Name Patterns
+ environment Environment Variables
+ revisions Specifying Single Revisions
+ multirevs Specifying Multiple Revisions
+ revsets Specifying Revision Sets
+ diffs Diff Formats
+ templating Template Usage
+ urls URL Paths
+ extensions Using additional features
+ hgweb Configuring hgweb
+ glossary Glossary
+
+ use "hg -v help" to show aliases and global options
+
+Not tested: --debugger
+