view tests/test-remotefilelog-tags.t @ 49603:3eda36e9b3d6 stable

matcher: fix issues regex flag contained in pattern (issue6759) Python 3.11 is now enforcing that flag must be at the beginning of the regex This creates a serious regression for people using Python 3.11 with an hgignore using flag in a "relre" pattern. We now detect any flags in such pattern and "prepend" our ".*" pattern after them. In addition, we now insert the flag in the regexp to only affect the pattern we are rewriting. Otherwise, the regex built from the combined pattern would these flags in the middle of it anyway. As a side effect of this last change, we fix a bug… before this change regex flag in a pattern would affect all combined patterns. That was bad and is not longer the case. The Rust code needs to be updated to fix that very bug, but we will do it in another changeset.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 16 Nov 2022 13:05:01 +0100
parents 84a93fa7ecfd
children dcaa2df1f688
line wrap: on
line source

#require no-windows

  $ . "$TESTDIR/remotefilelog-library.sh"

  $ hg init master
  $ cd master
  $ cat >> .hg/hgrc <<EOF
  > [remotefilelog]
  > server=True
  > EOF
  $ echo x > foo
  $ echo y > bar
  $ hg commit -qAm one
  $ hg tag tag1
  $ cd ..

# clone with tags

  $ hg clone --shallow ssh://user@dummy/master shallow --noupdate --config remotefilelog.excludepattern=.hgtags
  streaming all changes
  3 files to transfer, 662 bytes of data (no-zstd !)
  transferred 662 bytes in * seconds (* */sec) (glob) (no-zstd !)
  3 files to transfer, 665 bytes of data (zstd !)
  transferred 665 bytes in * seconds (* */sec) (glob) (zstd !)
  searching for changes
  no changes found
  $ cat >> shallow/.hg/hgrc <<EOF
  > [remotefilelog]
  > cachepath=$PWD/hgcache
  > debug=True
  > reponame = master
  > excludepattern=.hgtags
  > [extensions]
  > remotefilelog=
  > EOF

  $ cd shallow
  $ ls .hg/store/data
  ~2ehgtags.i
  $ hg tags
  tip                                1:6ce44dcfda68
  tag1                               0:e0360bc0d9e1
  $ hg update
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
  2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over *s (glob)

# pull with tags

  $ cd ../master
  $ hg tag tag2
  $ cd ../shallow
  $ hg pull
  pulling from ssh://user@dummy/master
  searching for changes
  adding changesets
  adding manifests
  adding file changes
  added 1 changesets with 0 changes to 0 files
  new changesets 6a22dfa4fd34
  (run 'hg update' to get a working copy)
  $ hg tags
  tip                                2:6a22dfa4fd34
  tag2                               1:6ce44dcfda68
  tag1                               0:e0360bc0d9e1
  $ hg update
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved

  $ ls .hg/store/data
  ~2ehgtags.i

  $ hg log -l 1 --stat
  changeset:   2:6a22dfa4fd34
  tag:         tip
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     Added tag tag2 for changeset 6ce44dcfda68
  
   .hgtags |  1 +
   1 files changed, 1 insertions(+), 0 deletions(-)