##// END OF EJS Templates
tests: update test-ssh.t output with --chg...
tests: update test-ssh.t output with --chg The output change was caused by d7304434390f5efca405744fa12a6585edae3d83.

File last commit:

r44946:7e69ff57 default
r45104:7f9538a3 default
Show More
TODO.md
39 lines | 1.4 KiB | text/x-minidsrc | MarkdownLexer
Augie Fackler
git: skeleton of a new extension to _directly_ operate on git repos...
r44961 Octopus Merge Support
=====================
This will be moderately complicated, as we'll need to synthesize phony
changeset entries to explode the octopus into "revisions" that only
have two parents each. For today, we can probably just do something like
aaaaaaaaaaaaaaaaaaXX{20 bytes of exploded node's hex sha}
where XX is a counter (so we could have as many as 255 parents in a
git commit - more than I think we'd ever see.) That means that we can
install some check in this extension to disallow checking out or
otherwise interacting with the `aaaaaaaaaaaaaaaaaa` revisions.
Interface Creation
====================
We at least need an interface definition for `changelog` in core that
this extension can satisfy, and again for `basicstore`.
Reason About Locking
====================
We should spend some time thinking hard about locking, especially on
.git/index etc. We're probably adequately locking the _git_
repository, but may not have enough locking correctness in places
where hg does locking that git isn't aware of (notably the working
copy, which I believe Git does not lock.)
Clean up requirements
=====================
Right now (for historical reasons, mainly) hgext.git uses a
.hg/this-is-git file to detect repositories that should be treated as
git. We should look in the .hg/requires for the "git" requirement
instead (we already set this requirement, so it's mostly keying off
that instead of using an empty file.)