Differences between revisions 1 and 23 (spanning 22 versions)
Revision 1 as of 2007-06-07 06:27:22
Size: 260
Editor: BrendanCully
Comment: Some notes about current projects.
Revision 23 as of 2009-01-15 00:11:25
Size: 1944
Editor: BrendanCully
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * LocalBranch  * LocalBranches
 * SharedRepository
 suggest
Extensions:
 * AliasExtension
 * DigestExtension
 * HgciaExtension
 * ImergeExtension
 * InotifyExtension
Line 8: Line 16:
  * qrebase [rev]: reapply the currently applied patches to rev (defaulting to the tip of the current branch).
   Update to rev, and attempt to apply each patch. If apply fails, perform a three-way merge with the original patch changeset, its ancestor, and the current rev. One way to perhaps cut down on the extraneous 3-way merge garbage might be to attempt to bisect between rev and the original revv for the last place where the patch can be successfully applied, then use that as the merge other end.
Line 9: Line 19:
 * Hunk selection (waiting on mpatch merge)  * automatic resolution of previously handled merge conflicts, cf git-rerere. plan of sorts:
   To apply a recorded resolution:
   1. Perform simplemerge to discover conflict blocks
   2. For each conflict block with a recorded resolution, apply that resolution to LOCAL and OTHER.
   3. Discard the merge result and pass the modified LOCAL and OTHER to the regular merge process.
   4. Keep a record of the conflict blocks generated at step 1, for caching new resolutions.
 * config extension to allow for machine-updateable hgrc settings
 * mirror extension to make a local repository identical to a remote (stripping changes that have disappeared in the source). Could be particularly useful for repositories with mq patches applied.
 * CVS pserver extension to access hg repositories via CVS client. Useful for services like ohloh or to leverage existing GUI tools for CVS. An svnserver would also be attractive but probably requires more baggage (DAV etc). Very preliminary work currently at http://hg.kublai.com/mercurial/extensions/pserve

CategoryHomepage

Projects:

Extensions:

Todo:

  • Mq: add a qrebase command to wrap qsave -e c; qpush -a -m
    • qrebase [rev]: reapply the currently applied patches to rev (defaulting to the tip of the current branch).
      • Update to rev, and attempt to apply each patch. If apply fails, perform a three-way merge with the original patch changeset, its ancestor, and the current rev. One way to perhaps cut down on the extraneous 3-way merge garbage might be to attempt to bisect between rev and the original revv for the last place where the patch can be successfully applied, then use that as the merge other end.
  • Transplant: Support merge transplants. Use original second parent?
  • automatic resolution of previously handled merge conflicts, cf git-rerere. plan of sorts:
    • To apply a recorded resolution:
    • Perform simplemerge to discover conflict blocks
    • For each conflict block with a recorded resolution, apply that resolution to LOCAL and OTHER.
    • Discard the merge result and pass the modified LOCAL and OTHER to the regular merge process.
    • Keep a record of the conflict blocks generated at step 1, for caching new resolutions.
  • config extension to allow for machine-updateable hgrc settings
  • mirror extension to make a local repository identical to a remote (stripping changes that have disappeared in the source). Could be particularly useful for repositories with mq patches applied.
  • CVS pserver extension to access hg repositories via CVS client. Useful for services like ohloh or to leverage existing GUI tools for CVS. An svnserver would also be attractive but probably requires more baggage (DAV etc). Very preliminary work currently at http://hg.kublai.com/mercurial/extensions/pserve

CategoryHomepage

BrendanCully (last edited 2012-11-06 08:56:23 by mpm)