Skip to content
Snippets Groups Projects
  • Mads Kiilerich's avatar
    a9c443b3
    unionrepo: read-only operations on a union of two localrepos · a9c443b3
    Mads Kiilerich authored
    unionrepo is just like bundlerepo without bundles.
    
    The implementation is very similar to bundlerepo, but I don't see any obvious
    way to generalize it.
    
    Some most obvious use cases for this would be log and diff across local repos,
    as a kind of preview of pulls, for instance:
    
      $ hg -R union:repo1+repo2 heads
      $ hg -R union:repo1+repo2 log -r REPO1REV -r REPO2REV
      $ hg -R union:repo1+repo2 log -r '::REPO1REV-::REPO2REV'
      $ hg -R union:repo1+repo2 log -r 'ancestor(REPO1REV,REPO2REV)'
      $ hg -R union:repo1+repo2 diff -r REPO1REV -r REPO2REV
    
    This is going to be used in RhodeCode, and Bitbucket already uses something
    similar. Having a core implementation would be beneficial.
    a9c443b3
    History
    unionrepo: read-only operations on a union of two localrepos
    Mads Kiilerich authored
    unionrepo is just like bundlerepo without bundles.
    
    The implementation is very similar to bundlerepo, but I don't see any obvious
    way to generalize it.
    
    Some most obvious use cases for this would be log and diff across local repos,
    as a kind of preview of pulls, for instance:
    
      $ hg -R union:repo1+repo2 heads
      $ hg -R union:repo1+repo2 log -r REPO1REV -r REPO2REV
      $ hg -R union:repo1+repo2 log -r '::REPO1REV-::REPO2REV'
      $ hg -R union:repo1+repo2 log -r 'ancestor(REPO1REV,REPO2REV)'
      $ hg -R union:repo1+repo2 diff -r REPO1REV -r REPO2REV
    
    This is going to be used in RhodeCode, and Bitbucket already uses something
    similar. Having a core implementation would be beneficial.