Skip to content
Snippets Groups Projects
  1. Dec 21, 2011
  2. Dec 16, 2011
    • Katsunori FUJIWARA's avatar
      cygwin: add cygwin specific normcase logic · c51c9dc1
      Katsunori FUJIWARA authored
      in cygwin environment, mount point part of path is treated as case
      sensitive, even though underlying NTFS is case insensitive.
      
      this patch preserves mount point part of specified path, only if it is
      absolute one.
      
      there is no easy way to get list of current mount points from python
      program, other than to execute "mount" external command, because
      cygwin does not store current mount points into Unix/Linux like
      /etc/XXXtab file.
      
      so, this patch introduces cygwinmountpoints variable to list mount
      points to be preserved case.
      
      this allows some other extensions to customize mount point
      configuration.
      c51c9dc1
    • Katsunori FUJIWARA's avatar
      icasefs: avoid path-absoluteness/existance check in util.fspath() for efficiency · f63e4004
      Katsunori FUJIWARA authored
      'dirstate._normalize()', the only caller of 'util.fspath()', has
      already confirmed exsistance of specified file as relative to root.
      
      so, this patch omits path-absoluteness/existance check from
      'util.fspath()'.
      f63e4004
    • Katsunori FUJIWARA's avatar
      icasefs: retry directory scan once for already invalidated cache · a1f4bd47
      Katsunori FUJIWARA authored
      some hg operation (e.g.: qpush) create new files after first
      dirstate.walk()-ing, and it invalidates _fspathcache for fspath().
      
      then, fspath() will fail to look up specified name in _fspathcache.
      
      this causes case preservation breaking, because parts of already
      normcase()-ed path are used as result at that time.
      
      in this case, file creation and writing out should be done before
      fspath() invocation, so the second invocation of os.listdir() has not
      so much impact on runtime performance.
      a1f4bd47
  3. Sep 29, 2011
    • Angel Ezquerra's avatar
      push: propagate --new-branch and --ssh options when pushing subrepos · 309e4949
      Angel Ezquerra authored
      Up until now the all the push command options were ignored when pushing
      subrepos. In particular, the fact that the --new-branch command was not passed
      down to subrepos made it not possible to push a repo when any of its
      subrepos had a new branch, even if you used the --new-branch option of the push
      command.
      
      In addition the error message was confusing since it showed the following hint:
      "--new-branch hint: use 'hg push --new-branch' to create new remote branches".
      However using the --new_branch flag did not fix the problem, as it was ignored
      when pushing subrepos.
      
      This patch passes the --new-branch and --ssh flags to every subrepo that is
      pushed.
      
      Issues/Limitations:
      
      - All subrepo types get these flags, but only the mercurial subrepos use them.
      - It is no longer possible to _not_ pass down these flags to subrepos when
      pushing:
         * An alternative would be to introduce a --subrepos flag that should be
      used to pass down these flags to the subrepos.
         * If we did this, it could make sense to make the --force flag respect this
         new --subrepos flag as well for consistency's sake.
      - Matt suggested that the ssh related flags could also be passed down to
      subrepos during pull and clone. However it seems that it would be the "update"
      command that would need to get those, since subrepos are only pulled on update.
      In any case I'd prefer to leave that for a later patch.
      309e4949
  4. Dec 21, 2011
  5. Dec 20, 2011
  6. Dec 21, 2011
  7. Dec 19, 2011
  8. Dec 20, 2011
  9. Dec 21, 2011
  10. Dec 20, 2011
  11. Dec 15, 2011
  12. Dec 19, 2011
  13. Dec 18, 2011
  14. Dec 19, 2011
  15. Dec 18, 2011
  16. Dec 19, 2011
  17. Dec 16, 2011
  18. Dec 13, 2011
  19. Dec 12, 2011
  20. Dec 11, 2011
  21. Dec 08, 2011
  22. Dec 17, 2011
  23. Dec 16, 2011
    • Katsunori FUJIWARA's avatar
      merge: check filename case collision between changesets for branch merging · d550168f
      Katsunori FUJIWARA authored
      this patch makes branch merging abort when merged changesets have same
      file in different case on case insensitive filesystem.
      
      this patch does not prevent linear update which merges between target
      and working contexts, because 'branchmerge' is False in such case.
      d550168f
    • Katsunori FUJIWARA's avatar
      i18n: use encoding.lower/upper for encoding aware case folding · 2ebe3d0c
      Katsunori FUJIWARA authored
      this patch uses encoding.lower/upper for case folding, because ones of
      str can not fold case of non ascii characters correctly.
      
      to avoid cyclic dependency and to encapsulate logic of normcase in
      each platforms, this patch introduces encodinglower/encodingupper in
      both posix/windows specific files.
      
      this patch does not change implementation of normcase() in posix.py,
      because we do not know the encoding of filenames on POSIX.
      
      some "normcase()" are excluded from function wrap list in
      hgext/win32mbcs.py, because they become encoding aware by this patch.
      2ebe3d0c
Loading