view tests/test-narrow-copies.t @ 38676:3b072388ca78

scmutil: rewrite docstring for filecache The old docstring was incorrect in that it said that subsequent calls perform a stat() and refresh the object if things change. This is not how things work: __get__ populates obj.__dict__[self.sname] with the result of the decorated function and returns this value without validation on subsequent calls, if available. The correct usage of this type is kinda wonky. It would probably benefit from a refactor. But I don't have time to do that right now. But we can change the docstring so others aren't entrapped by its lies (like I was when using repofilecache in a Mozilla extension). Differential Revision: https://phab.mercurial-scm.org/D3943
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 13 Jul 2018 14:20:12 -0700
parents a2a6e724d61a
children f1c1b4d0e695
line wrap: on
line source


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

create full repo

  $ hg init master
  $ cd master

  $ mkdir inside
  $ echo inside > inside/f1
  $ mkdir outside
  $ echo outside > outside/f2
  $ hg ci -Aqm 'initial'

  $ hg mv outside/f2 inside/f2
  $ hg ci -qm 'move f2 from outside'

  $ echo modified > inside/f2
  $ hg ci -qm 'modify inside/f2'

  $ cd ..

  $ hg clone --narrow ssh://user@dummy/master narrow --include inside
  requesting all changes
  adding changesets
  adding manifests
  adding file changes
  added 3 changesets with 3 changes to 2 files
  new changesets *:* (glob)
  updating to branch default
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ cd narrow

  $ hg co 'desc("move f2")'
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg status
  $ hg diff
  $ hg diff --change . --git
  diff --git a/inside/f2 b/inside/f2
  new file mode 100644
  --- /dev/null
  +++ b/inside/f2
  @@ -0,0 +1,1 @@
  +outside

  $ hg log --follow inside/f2 -r tip
  changeset:   2:bcfb756e0ca9
  tag:         tip
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     modify inside/f2
  
  changeset:   1:5a016133b2bb
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     move f2 from outside