view tests/test-remotefilelog-tags.t @ 41163:0101a35deae2

phabricator: warn if unable to amend, instead of aborting after posting There was a divergence in behavior here between obsolete and strip based amending. I first noticed the abort when testing outside of the test harness, but then had trouble recreating it here after reverting the code changes. It turns out, strip based amend was successfully amending the public commit after it was posted! It looks like the protection is in the `commit --amend` command, not in the underlying code that it calls. I considered doing a preflight check and aborting. But the locks are only acquired at the end, if amending, and this is too large a section of code to be wrapped in a maybe-it's-held-or-not context manager for my tastes. Additionally, some people do post-push reviews, and amending is the default behavior, so they shouldn't see a misleading error message. The lack of a 'Differential Revision' entry in the commit message breaks a {phabreview} test, so it had to be partially conditionalized.
author Matt Harbison <matt_harbison@yahoo.com>
date Sat, 05 Jan 2019 15:20:33 -0500
parents 0800d9e6e216
children 84a93fa7ecfd
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
  transferred 662 bytes in * seconds (*/sec) (glob)
  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(-)