Skip to content
Snippets Groups Projects
  • Adrian Buehlmann's avatar
    8b252e826c68
    add: introduce a warning message for non-portable filenames (issue2756) (BC) · 8b252e826c68
    Adrian Buehlmann authored
    On POSIX platforms, the 'add', 'addremove', 'copy' and 'rename' commands now
    warn if a file has a name that can't be checked out on Windows.
    
    Example:
    
      $ hg add con.xml
      warning: filename contains 'con', which is reserved on Windows: 'con.xml'
      $ hg status
      A con.xml
    
    The file is added despite the warning.
    
    The warning is ON by default. It can be suppressed by setting the config option
    'portablefilenames' in section 'ui' to 'ignore' or 'false':
    
      $ hg --config ui.portablefilenames=ignore add con.xml
      $ hg sta
      A con.xml
    
    If ui.portablefilenames is set to 'abort', then the command is aborted:
    
      $ hg --config ui.portablefilenames=abort add con.xml
      abort: filename contains 'con', which is reserved on Windows: 'con.xml'
    
    On Windows, the ui.portablefilenames config setting is irrelevant and the
    command is always aborted if a problematic filename is found.
    8b252e826c68
    History
    add: introduce a warning message for non-portable filenames (issue2756) (BC)
    Adrian Buehlmann authored
    On POSIX platforms, the 'add', 'addremove', 'copy' and 'rename' commands now
    warn if a file has a name that can't be checked out on Windows.
    
    Example:
    
      $ hg add con.xml
      warning: filename contains 'con', which is reserved on Windows: 'con.xml'
      $ hg status
      A con.xml
    
    The file is added despite the warning.
    
    The warning is ON by default. It can be suppressed by setting the config option
    'portablefilenames' in section 'ui' to 'ignore' or 'false':
    
      $ hg --config ui.portablefilenames=ignore add con.xml
      $ hg sta
      A con.xml
    
    If ui.portablefilenames is set to 'abort', then the command is aborted:
    
      $ hg --config ui.portablefilenames=abort add con.xml
      abort: filename contains 'con', which is reserved on Windows: 'con.xml'
    
    On Windows, the ui.portablefilenames config setting is irrelevant and the
    command is always aborted if a problematic filename is found.
test-copy.t 2.25 KiB
  $ hg init
  $ echo a > a
  $ hg add a
  $ hg commit -m "1"
  $ hg status
  $ hg copy a b
  $ hg --config ui.portablefilenames=abort copy a con.xml
  abort: filename contains 'con', which is reserved on Windows: 'con.xml'
  [255]
  $ hg status
  A b
  $ hg sum
  parent: 0:c19d34741b0a tip
   1
  branch: default
  commit: 1 copied
  update: (current)
  $ hg --debug commit -m "2"
  b
   b: copy a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
  committed changeset 1:93580a2c28a50a56f63526fb305067e6fbf739c4

we should see two history entries

  $ hg history -v
  changeset:   1:93580a2c28a5
  tag:         tip
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  files:       b
  description:
  2
  
  
  changeset:   0:c19d34741b0a
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  files:       a
  description:
  1
  
  

we should see one log entry for a

  $ hg log a
  changeset:   0:c19d34741b0a
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     1
  

this should show a revision linked to changeset 0

  $ hg debugindex .hg/store/data/a.i
     rev    offset  length   base linkrev nodeid       p1           p2
       0         0       3      0       0 b789fdd96dc2 000000000000 000000000000

we should see one log entry for b

  $ hg log b
  changeset:   1:93580a2c28a5
  tag:         tip
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     2
  

this should show a revision linked to changeset 1