Skip to content
Snippets Groups Projects
  1. Aug 18, 2007
  2. Aug 17, 2007
    • Alexis S. L. Carvalho's avatar
      convert: fix mercurial_sink.putcommit · 33015dac
      Alexis S. L. Carvalho authored
      Changeset 4ebc8693ce72 added some code to putcommit to avoid creating a
      revision that touches no files, but this can break regular conversions
      from some repositories:
      
      - conceptually, since we're converting a repo, we should try to make
        the new hg repo as similar as possible to the original repo - we
        should create a new changeset, even if the original revision didn't
        touch any files (maybe the commit message had some important bit);
      
      - even if a "regular" revision that doesn't touch any file may seem
        weird (and maybe even broken), it's completely legitimate for a merge
        revision to not touch any file, and, if we just skip it, the
        converted repo will end up with wrong history and possibly an extra
        head.
      
        As an example, say the crew and main hg repos are sync'ed.  Somebody
        sends an important patch to the mailing list.  Matt quickly applies
        and pushes it.  But at the same time somebody also applies it to crew
        and pushes it.  Suppose the commit message ended up being a bit
        different (say, there was a typo and somebody didn't fix it) or that
        the date ended up being different (because of different patch-applying
        scripts): the changeset hashes will be different, but the manifests
        will be the same.
      
        Since both changesets were pushed to public repos, it's hard to recall
        them.  If both are merged, the manifest from the resulting merge
        revision will have the exact same contents as its parents - i.e. the
        merge revision really doesn't touch any file at all.
      
      To keep the file filtering stuff "working", the generic code was changed
      to skip empty revisions if we're filtering the repo, fixing a bug in the
      process (we want parents[0] instead of tip).
      33015dac
    • Alexis S. L. Carvalho's avatar
      Add parentrevspec extension · b111e9a9
      Alexis S. L. Carvalho authored
      b111e9a9
    • Alexis S. L. Carvalho's avatar
      Move enabling of demandimport to dispatch.py · da1658d6
      Alexis S. L. Carvalho authored
      This avoids loading many modules before enabling demandimport.
      da1658d6
    • Alexis S. L. Carvalho's avatar
      Move cmdtable and reposetup handling out of extensions.py · 60acf143
      Alexis S. L. Carvalho authored
      A new function (extensions.extensions) allows the code that is
      interested in those attributes to handle them directly.
      
      This allows some cleanups of extensions.py.  Notably, we can
      remove the extensions.commandtable hack.
      
      It also makes it easier to add standard extension attributes,
      like a "hgwebsetup" function or a "helptable" dict that augments
      the data in help.py, etc.
      60acf143
    • Thomas Arendsen Hein's avatar
  3. Aug 18, 2007
  4. Aug 17, 2007
  5. Aug 16, 2007
  6. Aug 15, 2007
  7. Aug 16, 2007
  8. Aug 15, 2007
  9. Aug 14, 2007
  10. Aug 13, 2007
  11. Aug 12, 2007
  12. Aug 11, 2007
  13. Aug 10, 2007
    • Bryan O'Sullivan's avatar
    • Bryan O'Sullivan's avatar
      Make audit_path more stringent. · d316124e
      Bryan O'Sullivan authored
      The following properties of a path are now checked for:
      
          - under top-level .hg
          - starts at the root of a windows drive
          - contains ".."
          - traverses a symlink (e.g. a/symlink_here/b)
          - inside a nested repository
      
      If any of these is true, the path is rejected.
      
      The check for traversing a symlink is arguably stricter than necessary;
      perhaps we should be checking for symlinks that point outside the
      repository.
      d316124e
Loading