##// END OF EJS Templates
subrepo: consider the parent repo dirty when a file is missing...
subrepo: consider the parent repo dirty when a file is missing This simply passes the 'missing' argument down from the context of the parent repo, so the same rules apply. subrepo.bailifchanged() is hardcoded to care about missing files, because cmdutil.bailifchanged() is too. In the end, it looks like this addresses inconsistencies with 'archive', 'identify', blackbox logs, 'merge', and 'update --check'. I wasn't sure how to implement this in git, so that's left for someone more familiar with it.

File last commit:

r26374:048e41e9 default
r33364:bf2daedd default
Show More
test-mq-subrepo-svn.t
53 lines | 1.2 KiB | text/troff | Tads3Lexer
/ tests / test-mq-subrepo-svn.t
#require svn13
$ cat <<EOF >> $HGRCPATH
> [extensions]
> mq =
> [diff]
> nodates = 1
> EOF
fn to create new repository, and cd into it
$ mkrepo() {
> hg init $1
> cd $1
> hg qinit
> }
handle svn subrepos safely
$ svnadmin create svn-repo-2499
$ SVNREPOPATH=`pwd`/svn-repo-2499/project
#if windows
$ SVNREPOURL=file:///`$PYTHON -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
#else
$ SVNREPOURL=file://`$PYTHON -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
#endif
$ mkdir -p svn-project-2499/trunk
$ svn import -qm 'init project' svn-project-2499 "$SVNREPOURL"
qnew on repo w/svn subrepo
$ mkrepo repo-2499-svn-subrepo
$ svn co "$SVNREPOURL"/trunk sub
Checked out revision 1.
$ echo 'sub = [svn]sub' >> .hgsub
$ hg add .hgsub
$ hg status -S -X '**/format'
A .hgsub
$ hg qnew -m0 0.diff
$ cd sub
$ echo a > a
$ svn add a
A a
$ svn st
A* a (glob)
$ cd ..
$ hg status -S # doesn't show status for svn subrepos (yet)
$ hg qnew -m1 1.diff
abort: uncommitted changes in subrepository 'sub'
[255]
$ cd ..