Mercurial > hg
comparison hgext/fsmonitor/state.py @ 43392:8a9e53b974ee stable
fsmonitor: normalize hostname to bytes
Without this, we get a str/bytes mismatching when using %
formatting a few lines below.
Differential Revision: https://phab.mercurial-scm.org/D7208
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 02 Nov 2019 13:34:40 -0700 |
parents | 687b865b95ad |
children | 6000f5b25c9b |
comparison
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') |