##// END OF EJS Templates
contrib/wix: fix product name to include version...
contrib/wix: fix product name to include version Without this, Mercurial is registered under the installed programs on Windows as just 'Mercurial', which is unusual for a program to do on Windows. Including the version in the registered product name registers the software in the Windows control panel of installed programs as, for example, 'Mercurial 1.5' (for 1.5), or as 'Mercurial 1.5.1032' for a stable 1.5+32-35893dcfd40c 'Mercurial 1.5.5080' for a unstable 1.5+80-1ee60e82333c when using http://bitbucket.org/tortoisehg/thg-winbuild to create daily builds. Furthermore, the install UI texts in the built installer database (MSI file) are more clear on what the user is about to install, as, for example, the text in the initial installer dialog now reads "The Setup Wizard will install Mercurial 1.5 on your computer" instead of just "The Setup Wizard will install Mercurial on your computer"

File last commit:

r10263:25e57239 stable
r10709:67cb29db stable
Show More
common.py
53 lines | 1.5 KiB | text/x-python | PythonLexer
# server.py - inotify common protocol code
#
# Copyright 2006, 2007, 2008 Bryan O'Sullivan <bos@serpentine.com>
# Copyright 2007, 2008 Brendan Cully <brendan@kublai.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
import cStringIO, socket, struct
"""
Protocol between inotify clients and server:
Client sending query:
1) send protocol version number
2) send query type (string, 4 letters long)
3) send query parameters:
- For STAT, N+1 \0-separated strings:
1) N different names that need checking
2) 1 string containing all the status types to match
- No parameter needed for DBUG
Server sending query answer:
1) send protocol version number
2) send query type
3) send struct.pack'ed headers describing the length of the content:
e.g. for STAT, receive 9 integers describing the length of the
9 \0-separated string lists to be read:
* one file list for each lmar!?ic status type
* one list containing the directories visited during lookup
"""
version = 3
resphdrfmts = {
'STAT': '>lllllllll', # status requests
'DBUG': '>l' # debugging queries
}
resphdrsizes = dict((k, struct.calcsize(v))
for k, v in resphdrfmts.iteritems())
def recvcs(sock):
cs = cStringIO.StringIO()
s = True
try:
while s:
s = sock.recv(65536)
cs.write(s)
finally:
sock.shutdown(socket.SHUT_RD)
cs.seek(0)
return cs