Mercurial > hg
view tests/test-mq-symlinks.t @ 42980:0d1272783f24
revlog: introduce a `sidedata` method
The method give access to extra information related to the revision. Such data
will not be part of the hash be strongly related to the revision. Having them
stored at the revlog level helps the storage consistency story and simplify
various things.
Example of data we could store there:
- copy tracing related informations
- graph structure related information (useful for discovery)
- unresolved conflict data
The full implementation will be introduced gradually in the coming changesets.
Differential Revision: https://phab.mercurial-scm.org/D6808
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 03 Sep 2019 22:36:27 +0200 |
parents | c2380b448265 |
children | 55c6ebd11cb9 |
line wrap: on
line source
#require symlink $ echo "[extensions]" >> $HGRCPATH $ echo "mq=" >> $HGRCPATH $ hg init $ hg qinit $ hg qnew base.patch $ echo aaa > a $ echo bbb > b $ echo ccc > c $ hg add a b c $ hg qrefresh $ readlink.py a a -> a not a symlink test replacing a file with a symlink $ hg qnew symlink.patch $ rm a $ ln -s b a $ hg qrefresh --git $ readlink.py a a -> b $ hg qpop popping symlink.patch now at: base.patch $ hg qpush applying symlink.patch now at: symlink.patch $ readlink.py a a -> b test updating a symlink $ rm a $ ln -s c a $ hg qnew --git -f updatelink $ readlink.py a a -> c $ hg qpop popping updatelink now at: symlink.patch $ hg qpush --debug applying updatelink patching file a committing files: a committing manifest committing changelog updating the branch cache now at: updatelink $ readlink.py a a -> c $ hg st test replacing a symlink with a file $ ln -s c s $ hg add s $ hg qnew --git -f addlink $ rm s $ echo sss > s $ hg qnew --git -f replacelinkwithfile $ hg qpop popping replacelinkwithfile now at: addlink $ hg qpush applying replacelinkwithfile now at: replacelinkwithfile $ cat s sss $ hg st test symlink removal $ hg qnew removesl.patch $ hg rm a $ hg qrefresh --git $ hg qpop popping removesl.patch now at: replacelinkwithfile $ hg qpush applying removesl.patch now at: removesl.patch $ hg st -c C b C c C s replace broken symlink with another broken symlink $ ln -s linka linka $ hg add linka $ hg qnew link $ hg mv linka linkb $ rm linkb $ ln -s linkb linkb $ hg qnew movelink $ hg qpop popping movelink now at: link $ hg qpush applying movelink now at: movelink $ readlink.py linkb linkb -> linkb