##// END OF EJS Templates
phabricator: warn if unable to amend, instead of aborting after posting...
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.

File last commit:

r40955:a0886a4d default
r41198:0101a35d default
Show More
test-remotefilelog-clone.t
115 lines | 2.6 KiB | text/troff | Tads3Lexer
/ tests / test-remotefilelog-clone.t
Matt Harbison
tests: disable remotefilelog on Windows...
r40758 #require no-windows
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 $ . "$TESTDIR/remotefilelog-library.sh"
Martin von Zweigbergk
tests: drop obsolete "hginit" alias in remotefilelog tests...
r40605 $ hg init master
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 $ cd master
$ cat >> .hg/hgrc <<EOF
> [remotefilelog]
> server=True
> EOF
$ echo x > x
$ hg commit -qAm x
$ cd ..
# shallow clone from full
$ hgcloneshallow ssh://user@dummy/master shallow --noupdate
streaming all changes
2 files to transfer, 227 bytes of data
transferred 227 bytes in * seconds (*/sec) (glob)
searching for changes
no changes found
$ cd shallow
$ cat .hg/requires
dotencode
Augie Fackler
remotefilelog: consolidate and rename on-disk store requirement...
r40545 exp-remotefilelog-repo-req-1
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 fncache
generaldelta
revlogv1
Boris Feld
test: enable sparse-revlog for test-remotefilelog-clone.t...
r40938 sparserevlog
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 store
$ hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob)
$ cat x
x
$ ls .hg/store/data
$ echo foo > f
$ hg add f
$ hg ci -m 'local content'
$ ls .hg/store/data
4a0a19218e082a343a1b17e5333409af9d98f0f5
$ cd ..
# shallow clone from shallow
$ hgcloneshallow ssh://user@dummy/shallow shallow2 --noupdate
streaming all changes
3 files to transfer, 564 bytes of data
transferred 564 bytes in * seconds (*/sec) (glob)
searching for changes
no changes found
$ cd shallow2
$ cat .hg/requires
dotencode
Augie Fackler
remotefilelog: consolidate and rename on-disk store requirement...
r40545 exp-remotefilelog-repo-req-1
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 fncache
generaldelta
revlogv1
Boris Feld
test: enable sparse-revlog for test-remotefilelog-clone.t...
r40938 sparserevlog
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 store
$ ls .hg/store/data
4a0a19218e082a343a1b17e5333409af9d98f0f5
$ hg update
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cat x
x
$ cd ..
# full clone from shallow
Note: the output to STDERR comes from a different process to the output on
STDOUT and their relative ordering is not deterministic. As a result, the test
was failing sporadically. To avoid this, we capture STDERR to a file and
check its contents separately.
$ TEMP_STDERR=full-clone-from-shallow.stderr.tmp
$ hg clone --noupdate ssh://user@dummy/shallow full 2>$TEMP_STDERR
streaming all changes
remote: abort: Cannot clone from a shallow repo to a full repo.
[255]
$ cat $TEMP_STDERR
abort: pull failed on remote
$ rm $TEMP_STDERR
# getbundle full clone
$ printf '[server]\npreferuncompressed=False\n' >> master/.hg/hgrc
$ hgcloneshallow ssh://user@dummy/master shallow3
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 0 changes to 0 files
new changesets b292c1e3311f
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ ls shallow3/.hg/store/data
$ cat shallow3/.hg/requires
dotencode
Augie Fackler
remotefilelog: consolidate and rename on-disk store requirement...
r40545 exp-remotefilelog-repo-req-1
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 fncache
generaldelta
revlogv1
Boris Feld
test: enable sparse-revlog for test-remotefilelog-clone.t...
r40938 sparserevlog
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 store