Show More
@@ -1,39 +1,30 | |||||
1 | Octopus Merge Support |
|
1 | Octopus Merge Support | |
2 | ===================== |
|
2 | ===================== | |
3 |
|
3 | |||
4 | This will be moderately complicated, as we'll need to synthesize phony |
|
4 | This will be moderately complicated, as we'll need to synthesize phony | |
5 | changeset entries to explode the octopus into "revisions" that only |
|
5 | changeset entries to explode the octopus into "revisions" that only | |
6 | have two parents each. For today, we can probably just do something like |
|
6 | have two parents each. For today, we can probably just do something like | |
7 |
|
7 | |||
8 | aaaaaaaaaaaaaaaaaaXX{20 bytes of exploded node's hex sha} |
|
8 | aaaaaaaaaaaaaaaaaaXX{20 bytes of exploded node's hex sha} | |
9 |
|
9 | |||
10 | where XX is a counter (so we could have as many as 255 parents in a |
|
10 | where XX is a counter (so we could have as many as 255 parents in a | |
11 | git commit - more than I think we'd ever see.) That means that we can |
|
11 | git commit - more than I think we'd ever see.) That means that we can | |
12 | install some check in this extension to disallow checking out or |
|
12 | install some check in this extension to disallow checking out or | |
13 | otherwise interacting with the `aaaaaaaaaaaaaaaaaa` revisions. |
|
13 | otherwise interacting with the `aaaaaaaaaaaaaaaaaa` revisions. | |
14 |
|
14 | |||
15 |
|
15 | |||
16 | Interface Creation |
|
16 | Interface Creation | |
17 | ==================== |
|
17 | ==================== | |
18 |
|
18 | |||
19 | We at least need an interface definition for `changelog` in core that |
|
19 | We at least need an interface definition for `changelog` in core that | |
20 | this extension can satisfy, and again for `basicstore`. |
|
20 | this extension can satisfy, and again for `basicstore`. | |
21 |
|
21 | |||
22 |
|
22 | |||
23 | Reason About Locking |
|
23 | Reason About Locking | |
24 | ==================== |
|
24 | ==================== | |
25 |
|
25 | |||
26 | We should spend some time thinking hard about locking, especially on |
|
26 | We should spend some time thinking hard about locking, especially on | |
27 | .git/index etc. We're probably adequately locking the _git_ |
|
27 | .git/index etc. We're probably adequately locking the _git_ | |
28 | repository, but may not have enough locking correctness in places |
|
28 | repository, but may not have enough locking correctness in places | |
29 | where hg does locking that git isn't aware of (notably the working |
|
29 | where hg does locking that git isn't aware of (notably the working | |
30 | copy, which I believe Git does not lock.) |
|
30 | copy, which I believe Git does not lock.) | |
31 |
|
||||
32 | Clean up requirements |
|
|||
33 | ===================== |
|
|||
34 |
|
||||
35 | Right now (for historical reasons, mainly) hgext.git uses a |
|
|||
36 | .hg/this-is-git file to detect repositories that should be treated as |
|
|||
37 | git. We should look in the .hg/requires for the "git" requirement |
|
|||
38 | instead (we already set this requirement, so it's mostly keying off |
|
|||
39 | that instead of using an empty file.) |
|
General Comments 0
You need to be logged in to leave comments.
Login now