Commit c4f3f957 authored by Matt Harbison's avatar Matt Harbison
Browse files

addremove: add support for the -S flag

Git and svn subrepos are currently not supported.  It doesn't look like git or
svn have these commands natively, so that's an area for a git or svn expert.
parent f1b06a8aad42
......@@ -204,7 +204,7 @@ def add(ui, repo, *pats, **opts):
return rejected and 1 or 0
@command('addremove',
similarityopts + walkopts + dryrunopts,
similarityopts + subrepoopts + walkopts + dryrunopts,
_('[OPTION]... [FILE]...'),
inferrepo=True)
def addremove(ui, repo, *pats, **opts):
......
......@@ -81,6 +81,10 @@ Interaction with Mercurial Commands
Git and Subversion subrepositories are currently silently
ignored.
:addremove: addremove does not recurse into subrepos unless
-S/--subrepos is specified. Git and Subversion subrepositories
will print a warning and continue.
:archive: archive does not recurse in subrepositories unless
-S/--subrepos is specified.
......
......@@ -215,7 +215,7 @@ Show all commands + options
status: all, modified, added, removed, deleted, clean, unknown, ignored, no-status, copies, print0, rev, change, include, exclude, subrepos, template
summary: remote
update: clean, check, date, rev, tool
addremove: similarity, include, exclude, dry-run
addremove: similarity, subrepos, include, exclude, dry-run
archive: no-decode, prefix, rev, type, subrepos, include, exclude
backout: merge, parent, rev, edit, tool, include, exclude, message, logfile, date, user
bisect: reset, good, bad, skip, extend, command, noupdate
......
......@@ -128,11 +128,32 @@ Check that deep archiving works
R sub1/.hgsubstate
R sub1/sub2/folder/test.txt
$ hg update -Cq
$ touch sub1/foo
$ hg forget sub1/sub2/folder/test.txt
$ rm sub1/sub2/test.txt
Test relative path printing + subrepos
$ mkdir -p foo/bar
$ cd foo
$ touch bar/abc
$ hg addremove -S ..
adding ../sub1/sub2/folder/test.txt (glob)
removing ../sub1/sub2/test.txt (glob)
adding ../sub1/foo (glob)
adding bar/abc (glob)
$ cd ..
$ hg status -S
A foo/bar/abc
A sub1/foo
R sub1/sub2/test.txt
$ hg update -Cq
$ rm sub1/sub2/folder/test.txt
$ rm sub1/sub2/test.txt
$ hg ci -ASm "remove test.txt"
removing sub1/sub2/folder/test.txt (glob)
removing sub1/sub2/test.txt (glob)
adding sub1/foo (glob)
adding foo/bar/abc
committing subrepository sub1
committing subrepository sub1/sub2 (glob)
$ hg rollback -q
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment