Show More
@@ -1,39 +1,30 | |||
|
1 | 1 | Octopus Merge Support |
|
2 | 2 | ===================== |
|
3 | 3 | |
|
4 | 4 | This will be moderately complicated, as we'll need to synthesize phony |
|
5 | 5 | changeset entries to explode the octopus into "revisions" that only |
|
6 | 6 | have two parents each. For today, we can probably just do something like |
|
7 | 7 | |
|
8 | 8 | aaaaaaaaaaaaaaaaaaXX{20 bytes of exploded node's hex sha} |
|
9 | 9 | |
|
10 | 10 | where XX is a counter (so we could have as many as 255 parents in a |
|
11 | 11 | git commit - more than I think we'd ever see.) That means that we can |
|
12 | 12 | install some check in this extension to disallow checking out or |
|
13 | 13 | otherwise interacting with the `aaaaaaaaaaaaaaaaaa` revisions. |
|
14 | 14 | |
|
15 | 15 | |
|
16 | 16 | Interface Creation |
|
17 | 17 | ==================== |
|
18 | 18 | |
|
19 | 19 | We at least need an interface definition for `changelog` in core that |
|
20 | 20 | this extension can satisfy, and again for `basicstore`. |
|
21 | 21 | |
|
22 | 22 | |
|
23 | 23 | Reason About Locking |
|
24 | 24 | ==================== |
|
25 | 25 | |
|
26 | 26 | We should spend some time thinking hard about locking, especially on |
|
27 | 27 | .git/index etc. We're probably adequately locking the _git_ |
|
28 | 28 | repository, but may not have enough locking correctness in places |
|
29 | 29 | where hg does locking that git isn't aware of (notably the working |
|
30 | 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