view tests/test-mq-subrepo-svn.t @ 15929:4091660dc130

tag: invalidate tag cache immediately after adding new tag (issue3210) New tags were written to .hgtags / .hglocaltags without updating or invalidating the localrepo cache. Before afd459933d5f a lock was acquired soon after the new tags had been written, and that invalidated the cache so the new tags for example could be seen in pretxncommit hooks. With afd459933d5f the lock had already been acquired at this point and the missing cache invalidation was exposed. The tag caches will now explicitly and immediately be invalidated when new tags are added.
author Mads Kiilerich <mads@kiilerich.com>
date Thu, 19 Jan 2012 02:14:06 +0100
parents 53f37b24f26a
children b254f827b7a6
line wrap: on
line source

  $ "$TESTDIR/hghave" svn13 || exit 80

  $ echo "[extensions]" >> $HGRCPATH
  $ echo "mq=" >> $HGRCPATH
  $ echo "[diff]" >> $HGRCPATH
  $ echo "nodates=1" >> $HGRCPATH

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
  $ curpath=`pwd | tr '\\\\' /`
  $ expr "$svnpath" : "\/" > /dev/null
  > if [ $? -ne 0 ]; then
  >   curpath="/$curpath"
  > fi
  $ svnurl="file://$curpath/svn-repo-2499/project"
  $ mkdir -p svn-project-2499/trunk
  $ svn import -m 'init project' svn-project-2499 "$svnurl"
  Adding         svn-project-2499/trunk
  
  Committed revision 1.

qnew on repo w/svn subrepo
  $ mkrepo repo-2499-svn-subrepo
  $ svn co "$svnurl"/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
  committing subrepository sub
  $ 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]