Mercurial > hg
annotate tests/test-journal-share.t @ 49000:dd6b67d5c256 stable
rust: fix unsound `OwningDirstateMap`
As per the previous patch, `OwningDirstateMap` is unsound. Self-referential
structs are difficult to implement correctly in Rust since the compiler is
free to move structs around as much as it wants to. They are also very rarely
needed in practice, so the state-of-the-art on how they should be done within
the Rust rules is still a bit new.
The crate `ouroboros` is an attempt at providing a safe way (in the Rust sense)
of declaring self-referential structs. It is getting a lot attention and was
improved very quickly when soundness issues were found in the past: rather than
relying on our own (limited) review circle, we might as well use the de-facto
common crate to fix this problem. This will give us a much better chance of
finding issues should any new ones be discovered as well as the benefit of
fewer `unsafe` APIs of our own.
I was starting to think about how I would present a safe API to the old struct
but soon realized that the callback-based approach was already done in
`ouroboros`, along with a lot more care towards refusing incorrect structs.
In short: we don't return a mutable reference to the `DirstateMap` anymore, we
expect users of its API to pass a `FnOnce` that takes the map as an argument.
This allows our `OwningDirstateMap` to control the input and output lifetimes
of the code that modifies it to prevent such issues.
Changing to `ouroboros` meant changing every API with it, but it is relatively
low churn in the end. It correctly identified the example buggy modification of
`copy_map_insert` outlined in the previous patch as violating the borrow rules.
Differential Revision: https://phab.mercurial-scm.org/D12429
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Tue, 05 Apr 2022 10:55:28 +0200 |
parents | d252f51ab032 |
children |
rev | line source |
---|---|
45483
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37383
diff
changeset
|
1 #testcases safe normal |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37383
diff
changeset
|
2 |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37383
diff
changeset
|
3 #if safe |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37383
diff
changeset
|
4 $ echo "[format]" >> $HGRCPATH |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37383
diff
changeset
|
5 $ echo "exp-share-safe = True" >> $HGRCPATH |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37383
diff
changeset
|
6 #endif |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37383
diff
changeset
|
7 |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
8 Journal extension test: tests the share extension support |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
9 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
10 $ cat >> testmocks.py << EOF |
37120
a8a902d7176e
procutil: bulk-replace function calls to point to new module
Yuya Nishihara <yuya@tcha.org>
parents:
30238
diff
changeset
|
11 > # mock out procutil.getuser() and util.makedate() to supply testable values |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
12 > import os |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
13 > from mercurial import util |
37120
a8a902d7176e
procutil: bulk-replace function calls to point to new module
Yuya Nishihara <yuya@tcha.org>
parents:
30238
diff
changeset
|
14 > from mercurial.utils import procutil |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
15 > def mockgetuser(): |
37383
cb70be32f5f7
py3: convert user value to bytes by b'' prefix
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37120
diff
changeset
|
16 > return b'foobar' |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
17 > |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
18 > def mockmakedate(): |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
19 > filename = os.path.join(os.environ['TESTTMP'], 'testtime') |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
20 > try: |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
21 > with open(filename, 'rb') as timef: |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
22 > time = float(timef.read()) + 1 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
23 > except IOError: |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
24 > time = 0.0 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
25 > with open(filename, 'wb') as timef: |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
26 > timef.write(str(time)) |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
27 > return (time, 0) |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
28 > |
37120
a8a902d7176e
procutil: bulk-replace function calls to point to new module
Yuya Nishihara <yuya@tcha.org>
parents:
30238
diff
changeset
|
29 > procutil.getuser = mockgetuser |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
30 > util.makedate = mockmakedate |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
31 > EOF |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
32 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
33 $ cat >> $HGRCPATH << EOF |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
34 > [extensions] |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
35 > journal= |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
36 > share= |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
37 > testmocks=`pwd`/testmocks.py |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
38 > [remotenames] |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
39 > rename.default=remote |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
40 > EOF |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
41 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
42 $ hg init repo |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
43 $ cd repo |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
44 $ hg bookmark bm |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
45 $ touch file0 |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
46 $ hg commit -Am file0-added |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
47 adding file0 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
48 $ hg journal --all |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
49 previous locations of the working copy and bookmarks: |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
50 0fd3805711f9 . commit -Am file0-added |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
51 0fd3805711f9 bm commit -Am file0-added |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
52 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
53 A shared working copy initially receives the same bookmarks and working copy |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
54 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
55 $ cd .. |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
56 $ hg share repo shared1 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
57 updating working directory |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
58 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
59 $ cd shared1 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
60 $ hg journal --all |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
61 previous locations of the working copy and bookmarks: |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
62 0fd3805711f9 . share repo shared1 |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
63 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
64 unless you explicitly share bookmarks |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
65 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
66 $ cd .. |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
67 $ hg share --bookmarks repo shared2 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
68 updating working directory |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
69 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
70 $ cd shared2 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
71 $ hg journal --all |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
72 previous locations of the working copy and bookmarks: |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
73 0fd3805711f9 . share --bookmarks repo shared2 |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
74 0fd3805711f9 bm commit -Am file0-added |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
75 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
76 Moving the bookmark in the original repository is only shown in the repository |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
77 that shares bookmarks |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
78 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
79 $ cd ../repo |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
80 $ touch file1 |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
81 $ hg commit -Am file1-added |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
82 adding file1 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
83 $ cd ../shared1 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
84 $ hg journal --all |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
85 previous locations of the working copy and bookmarks: |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
86 0fd3805711f9 . share repo shared1 |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
87 $ cd ../shared2 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
88 $ hg journal --all |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
89 previous locations of the working copy and bookmarks: |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
90 4f354088b094 bm commit -Am file1-added |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
91 0fd3805711f9 . share --bookmarks repo shared2 |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
92 0fd3805711f9 bm commit -Am file0-added |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
93 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
94 But working copy changes are always 'local' |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
95 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
96 $ cd ../repo |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
97 $ hg up 0 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
98 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
99 (leaving bookmark bm) |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
100 $ hg journal --all |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
101 previous locations of the working copy and bookmarks: |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
102 0fd3805711f9 . up 0 |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
103 4f354088b094 . commit -Am file1-added |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
104 4f354088b094 bm commit -Am file1-added |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
105 0fd3805711f9 . commit -Am file0-added |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
106 0fd3805711f9 bm commit -Am file0-added |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
107 $ cd ../shared2 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
108 $ hg journal --all |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
109 previous locations of the working copy and bookmarks: |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
110 4f354088b094 bm commit -Am file1-added |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
111 0fd3805711f9 . share --bookmarks repo shared2 |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
112 0fd3805711f9 bm commit -Am file0-added |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
113 $ hg up tip |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
114 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
115 $ hg up 0 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
116 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
117 $ hg journal |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
118 previous locations of '.': |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
119 0fd3805711f9 up 0 |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
120 4f354088b094 up tip |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
121 0fd3805711f9 share --bookmarks repo shared2 |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
122 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
123 Unsharing works as expected; the journal remains consistent |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
124 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
125 $ cd ../shared1 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
126 $ hg unshare |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
127 $ hg journal --all |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
128 previous locations of the working copy and bookmarks: |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
129 0fd3805711f9 . share repo shared1 |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
130 $ cd ../shared2 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
131 $ hg unshare |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
132 $ hg journal --all |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
133 previous locations of the working copy and bookmarks: |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
134 0fd3805711f9 . up 0 |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
135 4f354088b094 . up tip |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
136 4f354088b094 bm commit -Am file1-added |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
137 0fd3805711f9 . share --bookmarks repo shared2 |
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
138 0fd3805711f9 bm commit -Am file0-added |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
139 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
140 New journal entries in the source repo no longer show up in the other working copies |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
141 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
142 $ cd ../repo |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
143 $ hg bookmark newbm -r tip |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
144 $ hg journal newbm |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
145 previous locations of 'newbm': |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
146 4f354088b094 bookmark newbm -r tip |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
147 $ cd ../shared2 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
148 $ hg journal newbm |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
149 previous locations of 'newbm': |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
150 no recorded locations |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
151 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
152 This applies for both directions |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
153 |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
154 $ hg bookmark shared2bm -r tip |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
155 $ hg journal shared2bm |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
156 previous locations of 'shared2bm': |
30238
9843e3d9f4b6
tests: avoid quoting of commit messages for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29503
diff
changeset
|
157 4f354088b094 bookmark shared2bm -r tip |
29503
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
158 $ cd ../repo |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
159 $ hg journal shared2bm |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
160 previous locations of 'shared2bm': |
0103b673d6ca
journal: add share extension support
Martijn Pieters <mjpieters@fb.com>
parents:
diff
changeset
|
161 no recorded locations |