Mercurial > hg
view tests/test-remotefilelog-bundle2.t @ 41289:593f6359681d
update: fix edge-case with update.atomic-file and read-only files
We used to create the tempfile with the original file mode. That means
creating a read-only tempfile when the original file is read-only, which crash
if we need to write on the tempfile.
The file in the working directory ends up being writable with and without the
atomic update config, so the behavior is the same.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Thu, 10 Jan 2019 14:57:01 +0100 |
parents | 0800d9e6e216 |
children | 68b7faeb6ef3 |
line wrap: on
line source
#require no-windows $ . "$TESTDIR/remotefilelog-library.sh" $ hg init master $ grep generaldelta master/.hg/requires generaldelta $ cd master preferuncompressed = False so that we can make both generaldelta and non-generaldelta clones $ cat >> .hg/hgrc <<EOF > [remotefilelog] > server=True > [experimental] > bundle2-exp = True > [server] > preferuncompressed = False > EOF $ echo x > x $ hg commit -qAm x $ cd .. $ hgcloneshallow ssh://user@dummy/master shallow-generaldelta -q --pull --config experimental.bundle2-exp=True 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob) $ grep generaldelta shallow-generaldelta/.hg/requires generaldelta $ hgcloneshallow ssh://user@dummy/master shallow-plain -q --pull --config format.usegeneraldelta=False --config format.generaldelta=False --config experimental.bundle2-exp=True $ grep generaldelta shallow-plain/.hg/requires [1] $ cd master $ echo a > a $ hg commit -qAm a pull from generaldelta to generaldelta $ cd ../shallow-generaldelta $ hg pull -u 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 2fbb8bb2b903 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) push from generaldelta to generaldelta $ echo b > b $ hg commit -qAm b $ hg push pushing to ssh://user@dummy/master searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files pull from generaldelta to non-generaldelta $ cd ../shallow-plain $ hg pull -u pulling from ssh://user@dummy/master searching for changes adding changesets adding manifests adding file changes added 2 changesets with 0 changes to 0 files new changesets 2fbb8bb2b903:d6788bd632ca 2 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) push from non-generaldelta to generaldelta $ echo c > c $ hg commit -qAm c $ hg push pushing to ssh://user@dummy/master searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files