hgext/fsmonitor/state.py
branchstable
changeset 43392 8a9e53b974ee
parent 43077 687b865b95ad
child 48875 6000f5b25c9b
equal deleted inserted replaced
43391:ffdf0bf28212 43392:8a9e53b974ee
    12 import socket
    12 import socket
    13 import struct
    13 import struct
    14 
    14 
    15 from mercurial.i18n import _
    15 from mercurial.i18n import _
    16 from mercurial import (
    16 from mercurial import (
       
    17     encoding,
    17     pathutil,
    18     pathutil,
    18     util,
    19     util,
    19 )
    20 )
    20 
    21 
    21 _version = 4
    22 _version = 4
    79                     len(state),
    80                     len(state),
    80                 )
    81                 )
    81                 self.invalidate()
    82                 self.invalidate()
    82                 return None, None, None
    83                 return None, None, None
    83             diskhostname = state[0]
    84             diskhostname = state[0]
    84             hostname = socket.gethostname()
    85             hostname = encoding.strtolocal(socket.gethostname())
    85             if diskhostname != hostname:
    86             if diskhostname != hostname:
    86                 # file got moved to a different host
    87                 # file got moved to a different host
    87                 self._ui.log(
    88                 self._ui.log(
    88                     b'fsmonitor',
    89                     b'fsmonitor',
    89                     b'fsmonitor: stored hostname "%s" '
    90                     b'fsmonitor: stored hostname "%s" '
   125             self._ui.warn(_(b"warning: unable to write out fsmonitor state\n"))
   126             self._ui.warn(_(b"warning: unable to write out fsmonitor state\n"))
   126             return
   127             return
   127 
   128 
   128         with file:
   129         with file:
   129             file.write(struct.pack(_versionformat, _version))
   130             file.write(struct.pack(_versionformat, _version))
   130             file.write(socket.gethostname() + b'\0')
   131             file.write(encoding.strtolocal(socket.gethostname()) + b'\0')
   131             file.write(clock + b'\0')
   132             file.write(clock + b'\0')
   132             file.write(ignorehash + b'\0')
   133             file.write(ignorehash + b'\0')
   133             if notefiles:
   134             if notefiles:
   134                 file.write(b'\0'.join(notefiles))
   135                 file.write(b'\0'.join(notefiles))
   135                 file.write(b'\0')
   136                 file.write(b'\0')