Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.1, 1.1.1, and 1.1.2

Merge with stable

Changeset 5fd32f5a905d

Parents b654d2d8513d

Parents 0c558f0e5bb6

by Steve Borho

Changes to 20 files · Browse files at 5fd32f5a905d Showing diff from parent b654d2d8513d 0c558f0e5bb6 Diff from another changeset...

Change 1 of 1 Show Entire File contrib/​win32/​ReadMe.html Stacked
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
@@ -1,169 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> - <head> - <title>Mercurial for Windows</title> - <meta http-equiv="Content-Type" content="text/html;charset=utf-8" > - <style type="text/css"> - <!-- - html { - font-family: sans-serif; - margin: 1em 2em; - } - - p { - margin-top: 0.5em; - margin-bottom: 0.5em; - } - - pre { - margin: 0.25em 0em; - padding: 0.5em; - background-color: #EEE; - border: thin solid #CCC; - } - - .indented { - padding-left: 10pt; - } - --> - </style> - </head> - - <body> - <h1>Mercurial for Windows</h1> - - <p>Welcome to Mercurial for Windows!</p> - - <p> - Mercurial is a command-line application. You must run it from - the Windows command prompt (or if you're hard core, a <a - href="http://www.mingw.org/">MinGW</a> shell). - </p> - - <p class="indented"> - <i>Note: the standard <a href="http://www.mingw.org/">MinGW</a> - msys startup script uses rxvt which has problems setting up - standard input and output. Running bash directly works - correctly.</i> - </p> - - <p> - For documentation, please visit the <a - href="http://mercurial.selenic.com/">Mercurial web site</a>. - You can also download a free book, <a - href="http://hgbook.red-bean.com/">Mercurial: The Definitive - Guide</a>. - </p> - - <p> - By default, Mercurial installs to <tt>C:\Program - Files\Mercurial</tt>. The Mercurial command is called - <tt>hg.exe</tt>. - </p> - - <h1>Testing Mercurial after you've installed it</h1> - - <p> - The easiest way to check that Mercurial is installed properly is - to just type the following at the command prompt: - </p> - - <pre> -hg -</pre> - - <p> - This command should print a useful help message. If it does, - other Mercurial commands should work fine for you. - </p> - - <h1>Configuration notes</h1> - <h4>Default editor</h4> - <p> - The default editor for commit messages is 'notepad'. You can set - the <tt>EDITOR</tt> (or <tt>HGEDITOR</tt>) environment variable - to specify your preference or set it in <tt>mercurial.ini</tt>: - </p> - <pre> -[ui] -editor = whatever -</pre> - - <h4>Configuring a Merge program</h4> - <p> - It should be emphasized that Mercurial by itself doesn't attempt - to do a Merge at the file level, neither does it make any - attempt to Resolve the conflicts. - </p> - - <p> - By default, Mercurial will use the merge program defined by the - <tt>HGMERGE</tt> environment variable, or uses the one defined - in the <tt>mercurial.ini</tt> file. (see <a - href="http://mercurial.selenic.com/wiki/MergeProgram">MergeProgram</a> - on the Mercurial Wiki for more information) - </p> - - <h1>Reporting problems</h1> - - <p> - Before you report any problems, please consult the <a - href="http://mercurial.selenic.com/">Mercurial web site</a> - and see if your question is already in our list of <a - href="http://mercurial.selenic.com/wiki/FAQ">Frequently - Answered Questions</a> (the "FAQ"). - </p> - - <p> - If you cannot find an answer to your question, please feel free - to send mail to the Mercurial mailing list, at <a - href="mailto:mercurial@selenic.com">mercurial@selenic.com</a>. - <b>Remember</b>, the more useful information you include in your - report, the easier it will be for us to help you! - </p> - - <p> - If you are IRC-savvy, that's usually the fastest way to get - help. Go to <tt>#mercurial</tt> on <tt>irc.freenode.net</tt>. - </p> - - <h1>Author and copyright information</h1> - - <p> - Mercurial was written by <a href="http://www.selenic.com">Matt - Mackall</a>, and is maintained by Matt and a team of volunteers. - </p> - - <p> - The Windows installer was written by <a - href="http://www.serpentine.com/blog">Bryan O'Sullivan</a>. - </p> - - <p>TortoiseHg was written by - <a href="mailto:teekaysoh@gmail.com>">TK Soh</a>. It - also has it's own - <a href="http://bitbucket.org/tortoisehg/stable/wiki/FAQ">FAQ</a></p> - </p> - - <p> - Mercurial is Copyright 2005-2009 Matt Mackall and others. See - the <tt>Contributors.txt</tt> file for a list of contributors. - </p> - - <p> - Mercurial is free software; you can redistribute it and/or - modify it under the terms of the <a - href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt">GNU - General Public License version 2</a> as published by the Free - Software Foundation. - </p> - - <p> - Mercurial is distributed in the hope that it will be useful, but - <b>without any warranty</b>; without even the implied warranty - of <b>merchantability</b> or <b>fitness for a particular - purpose</b>. See the GNU General Public License for more - details. - </p> - </body> -</html>
Change 1 of 1 Show Entire File contrib/​win32/​postinstall.txt Stacked
 
1
2
3
4
5
6
7
8
9
10
 
 
 
 
 
 
 
 
 
 
 
@@ -1,10 +0,0 @@
-Welcome to Mercurial for Windows! ---------------------------------- - -For configuration and usage directions, please read the ReadMe.html -file that comes with this package. - -Check the TortoiseHg and Mercurial release notes at: - - http://bitbucket.org/tortoisehg/stable/wiki/ReleaseNotes - http://mercurial.selenic.com/wiki/WhatsNew
Change 1 of 1 Show Entire File contrib/​win32/​registry.iss Stacked
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
@@ -1,128 +0,0 @@
-[Registry] -; rpc server autostart on logon -Root: HKLM; Subkey: Software\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: TortoiseHgRpcServer; Flags: uninsdeletevalue; ValueData: {app}\thgtaskbar.exe; Components: shell - -; register TortoiseHg config info -Root: HKLM; Subkey: Software\TortoiseHgShell; Flags: uninsdeletekey; Components: shell -Root: HKLM; Subkey: Software\TortoiseHgShell; ValueType: string; ValueName: ; ValueData: {app}; Components: shell -Root: HKLM32; Subkey: Software\TortoiseHgShell; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKLM32; Subkey: Software\TortoiseHgShell; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {app}; Components: shell -Root: HKLM; Subkey: Software\TortoiseHg; Flags: uninsdeletekey -Root: HKLM; Subkey: Software\TortoiseHg; ValueType: string; ValueName: ; ValueData: {app} -Root: HKLM32; Subkey: Software\TortoiseHg; Check: Is64BitInstallMode; Flags: uninsdeletekey -Root: HKLM32; Subkey: Software\TortoiseHg; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {app} - -; cmenu handler COM control -Root: HKCR; Subkey: CLSID\{{B456DB9F-7BF4-478c-937A-05130C2C212E}; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DB9F-7BF4-478c-937A-05130C2C212E}; ValueType: string; ValueName: ; ValueData: TortoiseHg; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DB9F-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType: string; ValueName: ; ValueData: {app}\THgShell.dll; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DB9F-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DB9F-7BF4-478c-937A-05130C2C212E}; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DB9F-7BF4-478c-937A-05130C2C212E}; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: TortoiseHg; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DB9F-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {app}\THgShellx86.dll; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DB9F-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check: Is64BitInstallMode; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell - -; overlay handler COM controls -; Normal -Root: HKCR; Subkey: CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}; ValueType: string; ValueName: ; ValueData: TortoiseHg; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType: string; ValueName: ; ValueData: {app}\THgShell.dll; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: TortoiseHg; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {app}\THgShellx86.dll; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check: Is64BitInstallMode; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell - -; Added -Root: HKCR; Subkey: CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}; ValueType: string; ValueName: ; ValueData: TortoiseHg; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType: string; ValueName: ; ValueData: {app}\THgShell.dll; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: TortoiseHg; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {app}\THgShellx86.dll; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check: Is64BitInstallMode; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell - -; Modified -Root: HKCR; Subkey: CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}; ValueType: string; ValueName: ; ValueData: TortoiseHg; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType: string; ValueName: ; ValueData: {app}\THgShell.dll; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: TortoiseHg; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {app}\THgShellx86.dll; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check: Is64BitInstallMode; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell - -; Unversioned -Root: HKCR; Subkey: CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}; ValueType: string; ValueName: ; ValueData: TortoiseHg; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType: string; ValueName: ; ValueData: {app}\THgShell.dll; Components: shell -Root: HKCR; Subkey: CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: TortoiseHg; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {app}\THgShellx86.dll; Components: shell -Root: HKCR32; Subkey: CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check: Is64BitInstallMode; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell - -; The actual icon overlay handlers for Explorer -Root: HKLM; Subkey: Software\TortoiseOverlays\Normal; ValueType: string; ValueName: TortoiseHg; ValueData: {{B456DBA0-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKLM; Subkey: Software\TortoiseOverlays\Added; ValueType: string; ValueName: TortoiseHg; ValueData: {{B456DBA1-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKLM; Subkey: Software\TortoiseOverlays\Modified; ValueType: string; ValueName: TortoiseHg; ValueData: {{B456DBA2-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKLM; Subkey: Software\TortoiseOverlays\Unversioned; ValueType: string; ValueName: TortoiseHg; ValueData: {{B456DBA6-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKLM32; Subkey: Software\TortoiseOverlays\Normal; Check: Is64BitInstallMode; ValueType: string; ValueName: TortoiseHg; ValueData: {{B456DBA0-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKLM32; Subkey: Software\TortoiseOverlays\Added; Check: Is64BitInstallMode; ValueType: string; ValueName: TortoiseHg; ValueData: {{B456DBA1-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKLM32; Subkey: Software\TortoiseOverlays\Modified; Check: Is64BitInstallMode; ValueType: string; ValueName: TortoiseHg; ValueData: {{B456DBA2-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKLM32; Subkey: Software\TortoiseOverlays\Unversioned; Check: Is64BitInstallMode; ValueType: string; ValueName: TortoiseHg; ValueData: {{B456DBA6-7BF4-478c-937A-05130C2C212E}; Components: shell - -; Make them approved by administrator -Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; ValueType: string; ValueName: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags: uninsdeletevalue; Components: shell -Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; ValueType: string; ValueName: {{B456DBA0-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags: uninsdeletevalue; Components: shell -Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; ValueType: string; ValueName: {{B456DBA1-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags: uninsdeletevalue; Components: shell -Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; ValueType: string; ValueName: {{B456DBA2-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags: uninsdeletevalue; Components: shell -Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; ValueType: string; ValueName: {{B456DBA6-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags: uninsdeletevalue; Components: shell -Root: HKLM32; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; Check: Is64BitInstallMode; ValueType: string; ValueName: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags: uninsdeletevalue; Components: shell -Root: HKLM32; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; Check: Is64BitInstallMode; ValueType: string; ValueName: {{B456DBA0-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags: uninsdeletevalue; Components: shell -Root: HKLM32; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; Check: Is64BitInstallMode; ValueType: string; ValueName: {{B456DBA1-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags: uninsdeletevalue; Components: shell -Root: HKLM32; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; Check: Is64BitInstallMode; ValueType: string; ValueName: {{B456DBA2-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags: uninsdeletevalue; Components: shell -Root: HKLM32; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; Check: Is64BitInstallMode; ValueType: string; ValueName: {{B456DBA6-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags: uninsdeletevalue; Components: shell - -; Context menu handlers -Root: HKCR; Subkey: Directory\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: Directory\shellex\ContextMenuHandlers\TortoiseHgCMenu; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKCR32; Subkey: Directory\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: Directory\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell - -Root: HKCR; Subkey: Directory\Background\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: Directory\Background\shellex\ContextMenuHandlers\TortoiseHgCMenu; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKCR32; Subkey: Directory\Background\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: Directory\Background\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell - -Root: HKCR; Subkey: Drive\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: Drive\shellex\ContextMenuHandlers\TortoiseHgCMenu; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKCR32; Subkey: Drive\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: Drive\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell - -Root: HKCR; Subkey: Folder\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: Folder\shellex\ContextMenuHandlers\TortoiseHgCMenu; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKCR32; Subkey: Folder\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: Folder\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell - -Root: HKCR; Subkey: LibraryLocation\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: LibraryLocation\shellex\ContextMenuHandlers\TortoiseHgCMenu; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKCR32; Subkey: LibraryLocation\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: LibraryLocation\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell - -Root: HKCR; Subkey: LibraryFolder\background\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: LibraryFolder\background\shellex\ContextMenuHandlers\TortoiseHgCMenu; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKCR32; Subkey: LibraryFolder\background\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: LibraryFolder\background\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell - -Root: HKCR; Subkey: *\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: *\shellex\ContextMenuHandlers\TortoiseHgCMenu; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKCR32; Subkey: *\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: *\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell - -Root: HKCR; Subkey: InternetShortcut\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags: uninsdeletekey; Components: shell -Root: HKCR; Subkey: InternetShortcut\shellex\ContextMenuHandlers\TortoiseHgCMenu; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell -Root: HKCR32; Subkey: InternetShortcut\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell -Root: HKCR32; Subkey: InternetShortcut\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: {{B456DB9F-7BF4-478c-937A-05130C2C212E}; Components: shell -
Change 1 of 1 Show Entire File contrib/​win32/​tortoisehg.iss Stacked
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
@@ -1,269 +0,0 @@
-; Script generated by the Inno Setup Script Wizard. -; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! - -#ifndef VERSION -#define VERSION "snapshot" -#endif - -[Setup] -AppCopyright=Copyright 2008-2010 Steve Borho and others -AppName=TortoiseHg -AppVerName=TortoiseHg {#VERSION} -InfoAfterFile=contrib/win32/postinstall.txt -LicenseFile=COPYING.txt -ShowLanguageDialog=yes -AppPublisher=Steve Borho and others -AppPublisherURL=http://tortoisehg.org/ -AppSupportURL=http://tortoisehg.org/ -AppUpdatesURL=http://tortoisehg.org/ -AppID=TortoiseHg -AppContact=Steve Borho <steve@borho.org> -OutputBaseFilename=TortoiseHg-{#VERSION} -DefaultDirName={pf}\TortoiseHg -SourceDir=..\.. -VersionInfoDescription=TortoiseHg (with Mercurial) -VersionInfoCopyright=Copyright 2008-2010 Steve Borho and others -VersionInfoCompany=Steve Borho and others -InternalCompressLevel=max -SolidCompression=true -SetupIconFile=icons\thg_logo.ico -UninstallDisplayIcon={app}\thg_logo.ico -WizardImageFile=..\misc\install-wizard.bmp -WizardImageStretch=no -WizardImageBackColor=$ffffff -WizardSmallImageFile=..\misc\install-wizard-small.bmp -AllowNoIcons=true -DefaultGroupName=TortoiseHg -PrivilegesRequired=poweruser -AlwaysRestart=no -SetupLogging=yes -ArchitecturesInstallIn64BitMode=x64 - -[Types] -Name: full; Description: Full installation -Name: custom; Description: Custom installation; Flags: iscustom - -[Components] -Name: main; Description: Main Files (includes 'hg' and 'hgtk' commands); Types: full custom; Flags: fixed -Name: help; Description: Help Files; Types: full -Name: hgbook; Description: The book 'Mercurial: The Definitive Guide' (PDF); Types: full -Name: shell; Description: Shell integration (overlay icons, context menu) [admin required]; Types: full; Flags: restart; Check: ShellInstallPossible - -[Files] -Source: ..\build-hg\mercurial\help\*.txt; DestDir: {app}\help -Source: ..\build-hg\mercurial\templates\*.*; DestDir: {app}\templates; Flags: recursesubdirs createallsubdirs -Source: ..\build-hg\mercurial\locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs -Source: ..\build-hg\contrib\xml.rnc; DestDir: {app}/contrib -Source: ..\build-hg\i18n\*.*; DestDir: {app}\i18n -Source: ..\build-hg\doc\*.html; DestDir: {app}\docs; Flags: ignoreversion; Components: help -Source: ..\build-hg\doc\style.css; DestDir: {app}\docs; Flags: ignoreversion; Components: help -Source: {app}\Mercurial.ini; DestDir: {app}\backup; Flags: external skipifsourcedoesntexist uninsneveruninstall -Source: contrib\win32\mercurial.ini; DestDir: {app}\hgrc.d; DestName: Mercurial.rc -Source: contrib\win32\mergepatterns.ini; DestDir: {app}\hgrc.d; DestName: MergePatterns.rc -Source: contrib\mergetools.ini; DestDir: {app}\hgrc.d; DestName: MergeTools.rc -Source: contrib\win32\mercurialuser.ini; DestDir: {%USERPROFILE}; DestName: Mercurial.ini; AfterInstall: FileExpandStringEx('{%USERPROFILE}\Mercurial.ini'); Flags: onlyifdoesntexist -Source: ReleaseNotes.txt; DestDir: {app}; DestName: ReleaseNotes.txt -Source: ..\extension-versions.txt; DestDir: {app}/contrib -Source: ..\contrib\*.exe; DestDir: {app} -Source: ..\contrib\*.dll; DestDir: {app} -Source: ..\contrib\TortoiseOverlays\*.*; DestDir: {app}/TortoiseOverlays -Source: contrib\refreshicons.cmd; DestDir: {app}/contrib -Source: dist\*.exe; Excludes: thgtaskbar.exe; DestDir: {app}; Flags: ignoreversion -Source: dist\thgtaskbar.exe; DestDir: {app}; Flags: ignoreversion; Components: shell -Source: dist\*.dll; DestDir: {app}; Flags: ignoreversion -Source: dist\library.zip; DestDir: {app} -Source: doc\build\pdf\*.pdf; DestDir: {app}/docs; Flags: ignoreversion; Components: help -Source: doc\build\chm\*.chm; DestDir: {app}/docs; Flags: ignoreversion; Components: help -Source: icons\*; DestDir: {app}\icons; Flags: ignoreversion recursesubdirs createallsubdirs -Source: dist\gtk\*; DestDir: {app}\gtk; Flags: ignoreversion recursesubdirs createallsubdirs -Source: locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs -Source: i18n\*.*; DestDir: {app}\i18n; Flags: recursesubdirs createallsubdirs -Source: win32\*.reg; DestDir: {app}\cmenu_i18n -Source: COPYING.txt; DestDir: {app}; DestName: Copying.txt -Source: icons\thg_logo.ico; DestDir: {app} -Source: ..\contrib\diff-scripts\*.*; DestDir: {app}\diff-scripts -Source: ..\misc\hgbook.pdf; DestDir: {app}/docs; Flags: ignoreversion; Components: hgbook -Source: ..\misc\ThgShellx86.dll; DestDir: {app}; DestName: ThgShell.dll; Check: not Is64BitInstallMode; Flags: ignoreversion restartreplace uninsrestartdelete; Components: shell -Source: ..\misc\ThgShellx86.dll; DestDir: {app}; DestName: ThgShellx86.dll; Check: Is64BitInstallMode; Flags: ignoreversion restartreplace uninsrestartdelete; Components: shell -Source: ..\misc\ThgShellx64.dll; DestDir: {app}; DestName: ThgShell.dll; Check: Is64BitInstallMode; Flags: ignoreversion restartreplace uninsrestartdelete; Components: shell - -[INI] -Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: http://mercurial.selenic.com/ -Filename: {app}\TortoiseHg.url; Section: InternetShortcut; Key: URL; String: http://tortoisehg.org/ - -[Icons] -Name: {group}\Start Taskbar App; Filename: {app}\thgtaskbar.exe; Components: shell -Name: {group}\TortoiseHg Book (chm); Filename: {app}\docs\TortoiseHg.chm; Components: help -Name: {group}\TortoiseHg Book (pdf); Filename: {app}\docs\TortoiseHg.pdf; Components: help -Name: {group}\TortoiseHg Web Site; Filename: {app}\TortoiseHg.url -Name: {group}\Mercurial Book; Filename: {app}\docs\hgbook.pdf; Components: hgbook -Name: {group}\Mercurial Command Reference; Filename: {app}\docs\hg.1.html; Components: help -Name: {group}\Mercurial Config Reference; Filename: {app}\docs\hgrc.5.html; Components: help -Name: {group}\Mercurial Web Site; Filename: {app}\Mercurial.url -Name: {group}\Uninstall TortoiseHg; Filename: {uninstallexe} - -[Run] -Filename: {app}\add_path.exe; Parameters: {app}; StatusMsg: Adding the installation path to the search path... -Filename: msiexec.exe; Parameters: "/i ""{app}\TortoiseOverlays\TortoiseOverlays-1.0.10.17694-win32.msi"" /qn /norestart ALLUSERS=1"; Components: shell; StatusMsg: Installing TortoiseOverlays.dll ... -Filename: msiexec.exe; Parameters: "/i ""{app}\TortoiseOverlays\TortoiseOverlays-1.0.10.17694-x64.msi"" /qn /norestart ALLUSERS=1"; Check: Is64BitInstallMode; Components: shell; StatusMsg: Installing TortoiseOverlays.dll ... - -[UninstallRun] -Filename: {app}\add_path.exe; Parameters: /del {app} - -[UninstallDelete] -Type: files; Name: {app}\Mercurial.url -Type: files; Name: {app}\TortoiseHg.url - -[Registry] -Root: HKLM; Subkey: Software\TortoiseHg; Flags: uninsdeletekey; ValueData: {app} -Root: HKLM; Subkey: Software\Mercurial; Flags: uninsdeletekey; ValueData: {app}\Mercurial.ini - -[Code] -const - wm_Close = $0010; - -procedure FileExpandString(fn: String); -var - InFile: String; - i: Integer; - InFileLines: TArrayOfString; -begin - InFile := ExpandConstant(fn); - LoadStringsFromFile(InFile, InFileLines); - for i:= 0 to GetArrayLength(InFileLines)-1 do - InFileLines[i] := ExpandConstant(InFileLines[i]); - SaveStringsToFile(InFile, InFileLines, False); -end; - -var IsUpgrade: Boolean; - -function InitializeSetup(): Boolean; -var - ThgSwReg: String; - msg: String; - CRLF: String; -begin - CRLF := Chr(10) + Chr(13); - Result := True; - - {abort installation if TortoiseHg 0.7 or earlier is installed} - if RegQueryStringValue(HKLM, 'Software\TortoiseHg', '', ThgSwReg) then - begin - IsUpgrade := True; - {hgproc was removed after 0.7, so it's a good guess} - if (FileExists(ThgSwReg + '\hgproc.exe')) then - begin - msg := 'TortoiseHg Setup Error:' + CRLF + CRLF + - 'The version of TortoiseHg installed is too old to upgrade in place.' + CRLF + - 'You must uninstall it before installing this version.' + CRLF + CRLF + - 'Please uninstall the existing versions of TortoiseHg and TortoiseOverlays,' + CRLF + - 'then run the installer again to continue.'; - MsgBox(msg, mbError, MB_OK); - Result := False; {quit and abort installation} - end; - end; -end; - -var UserInfoPage: TInputQueryWizardPage; -var GetUserName: Boolean; - -procedure InitializeWizard(); -begin - if (not(FileExists(ExpandConstant('{%USERPROFILE}\Mercurial.ini')))) then - begin - // Create the page - UserInfoPage := CreateInputQueryPage(wpUserInfo, - 'Personal Information', 'Who are you?', - 'Please specify your name and email address, then click Next.'); - - // Add items (False means it's not a password edit) - UserInfoPage.Add('Full Name:', False); - UserInfoPage.Add('Email address:', False); - - // Set initial values (optional) - UserInfoPage.Values[0] := ExpandConstant('{username}'); - GetUserName := True; - end - else - GetUserName := False; -end; - -procedure FileExpandStringEx(fn: String); -var - InFile: String; - i: Integer; - InFileLines: TArrayOfString; -begin - if (GetUserName) then - begin - InFile := ExpandConstant(fn); - LoadStringsFromFile(InFile, InFileLines); - for i:= 0 to GetArrayLength(InFileLines)-1 do - begin - InFileLines[i] := ExpandConstantEx(InFileLines[i], - 'hgusername', - UserInfoPage.Values[0] + ' <' + UserInfoPage.Values[1] + '>'); - end; - SaveStringsToFile(InFile, InFileLines, False); - end; -end; - -function ShouldSkipPage(PageID: Integer): Boolean; -begin - { Skip wpSelectDir page if upgrading; show all others } - case PageID of - wpSelectDir: - Result := IsUpgrade; - else - Result := False; - end; -end; - -function TerminateThgTaskbar(): Boolean; -var - TaskbarWindow: HWND; - TaskbarMutex: String; - tries: Integer; -begin - { Terminate thgtaskbar.exe if it is running. Returns True, if successful } - TaskbarMutex := 'thgtaskbar,Global\thgtaskbar'; - tries := 0; - while (tries < 4) and CheckForMutexes(TaskbarMutex) do begin - TaskbarWindow := FindWindowByWindowName('TortoiseHg Overlay Icon Server'); - if TaskbarWindow <> 0 then - SendMessage(TaskbarWindow, wm_Close, 0, 0); - TaskbarWindow := FindWindowByWindowName('TortoiseHg RPC server'); - if TaskbarWindow <> 0 then - SendMessage(TaskbarWindow, wm_Close, 0, 0); - Sleep(3000 { ms }); - tries := tries + 1; - end; - Result := not CheckForMutexes(TaskbarMutex); -end; - -function PrepareToInstall: String; -begin - if TerminateThgTaskbar() then - Result := '' - else - Result := 'The installer failed to shut down thgtaskbar.exe, and will now close.'; -end; - -procedure CurUninstallStepChanged(step: TUninstallStep); -begin - if step = usAppMutexCheck then - TerminateThgTaskbar(); -end; - -function ShellInstallPossible(): Boolean; -begin - if not IsAdminLoggedOn then begin - SuppressibleMsgBox( - 'The shell integration install option (overlay icons, context menu) is unavailable (Administrator required)', - mbInformation, MB_OK, 0 - ); - Result := False; - end else Result := True; -end; - -#include "registry.iss"
 
49
50
51
52
 
53
54
 
55
56
57
 
49
50
51
 
52
53
 
54
55
56
57
@@ -49,9 +49,9 @@
 # built documents.  #  # The short X.Y version. -version = '0.10' +version = '1.0'  # The full version, including alpha/beta/rc tags. -release = '0.10.0' +release = '1.0.0'    # The language for content autogenerated by Sphinx. Refer to documentation  # for a list of supported languages.
Change 1 of 1 Show Entire File hgtk Stacked
 
63
64
65
66
 
 
67
68
69
 
63
64
65
 
66
67
68
69
70
@@ -63,7 +63,8 @@
  sys.stderr = origstderr   mystderr.seek(0)   for l in mystderr.readlines(): - if l.startswith('Traceback') or l.startswith('TypeError'): + if l.startswith('Traceback') or l.startswith('TypeError') or \ + l.startswith('NameError'):   from tortoisehg.hgtk.bugreport import run   from tortoisehg.hgtk.hgtk import gtkrun   error = 'Recoverable runtime error (stderr):\n'
Show Entire File i18n/​tortoisehg/​cs.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​de.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​ja.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​pt_BR.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​sv.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Change 1 of 2 Show Entire File thgtaskbar.py Stacked
 
432
433
434
435
436
437
438
 
443
444
445
446
447
448
449
450
451
 
432
433
434
 
435
436
437
 
442
443
444
 
 
 
445
446
447
@@ -432,7 +432,6 @@
  # Clean up when we exit   self.SvcStop()   -INSTALLMUTEXNAME = 'thgtaskbar'  RUNMUTEXNAME = 'thgtaskbar-' + GetUserName()    def main(): @@ -443,9 +442,6 @@
  if GetLastError() == winerror.ERROR_ALREADY_EXISTS:   print "another instance is already running"   return - # see http://www.jrsoftware.org/iskb.php?mutexsessions - installmutex1 = win32event.CreateMutex(sa, 1, INSTALLMUTEXNAME) - installmutex2 = win32event.CreateMutex(sa, 1, 'Global\\' + INSTALLMUTEXNAME)     logfilename = None   for arg in args:
 
42
43
44
45
46
47
48
49
50
51
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
54
55
 
61
62
63
64
 
 
65
66
67
 
42
43
44
 
 
 
 
 
 
 
 
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
70
71
72
 
73
74
75
76
77
@@ -42,14 +42,23 @@
  comment = _("Several icons are courtesy of the TortoiseSVN project")     newver = (0,0,0) - upgradeurl = '' - if os.name == 'nt': - try: - f = urllib2.urlopen(_verurl).read().splitlines() - newver = tuple([int(p) for p in f[0].split('.')]) - upgradeurl = f[1] - except: - pass + upgradeurl = 'http://tortoisehg.org' + try: + f = urllib2.urlopen(_verurl).read().splitlines() + newver = tuple([int(p) for p in f[0].split('.')]) + upgradeurl = f[1] # generic download URL + platform = sys.platform + if platform == 'win32': + from win32process import IsWow64Process as IsX64 + platform = IsX64() and 'x64' or 'x86' + # linux2 for Linux, darwin for OSX + for line in f[2:]: + p, url = line.split(':') + if platform == p: + upgradeurl = url.strip() + break + except: + pass   ver = version.version()   if '+' in ver:   ver = ver[:ver.index('+')] @@ -61,7 +70,8 @@
  comment = _('A new version of TortoiseHg is ready for download!')   self.set_website(upgradeurl)   else: - self.set_website("http://tortoisehg.org") + self.set_website('http://tortoisehg.org') +   self.set_name("TortoiseHg")   self.set_version(_("(version %s)") % version.version())   if hasattr(self, 'set_wrap_license'):
 
203
204
205
206
 
207
208
209
210
211
 
212
213
214
 
264
265
266
267
268
 
 
269
270
 
271
272
273
274
275
276
 
277
278
279
 
203
204
205
 
206
207
208
209
210
 
211
212
213
214
 
264
265
266
 
 
267
268
269
 
270
271
272
273
274
275
 
276
277
278
279
@@ -203,12 +203,12 @@
    def browse_clicked(self, button, title, entry):   res = gtklib.NativeFolderSelectDialog( - initial=entry.get_text(), title=title).run() + initial=entry.get_text().strip(), title=title).run()   if res:   entry.set_text(res)     def bundle_clicked(self, button, title, entry): - path = entry.get_text() + path = entry.get_text().strip()   if os.path.isdir(path):   initial = path   else: @@ -264,16 +264,16 @@
  def clone(self):   # gather input data   src = self.srcentry.get_text().strip() - dest = self.destentry.get_text() or os.path.basename(src) - remotecmd = self.remotecmdentry.get_text() + dest = self.destentry.get_text().strip() or os.path.basename(src) + remotecmd = self.remotecmdentry.get_text().strip()   if self.reventry.get_property('sensitive'): - rev = self.reventry.get_text() + rev = self.reventry.get_text().strip()   else:   rev = None     if hasattr(self, 'startreventry') and \   self.startreventry.get_property('sensitive'): - startrev = self.startreventry.get_text() + startrev = self.startreventry.get_text().strip()   else:   startrev = None  
 
8
9
10
 
11
12
13
 
207
208
209
 
 
 
 
 
210
211
212
 
224
225
226
 
 
227
228
229
 
8
9
10
11
12
13
14
 
208
209
210
211
212
213
214
215
216
217
218
 
230
231
232
233
234
235
236
237
@@ -8,6 +8,7 @@
 # GNU General Public License version 2, incorporated herein by reference.    import os +import sys  import errno  import gtk  import gobject @@ -207,6 +208,11 @@
  def toggle_showtoolbar(button):   self.showtoolbar = button.get_active()   self._show_toolbar(self.showtoolbar) + def disable_maxdiff(menuitem): + if menuitem.get_active(): + hglib._maxdiff = sys.maxint + else: + hglib._maxdiff = None   if self.mqloaded:   mq_item = [dict(text=_('Patch Queue'), name='mq', ascheck=True,   func=self.mq_clicked, check=self.setting_mqvis) ] @@ -224,6 +230,8 @@
  dict(text='----'),   dict(text=_('Refresh'), func=refresh, icon=gtk.STOCK_REFRESH),   dict(text='----'), + dict(name='ignore-max-diff', text=_('Ignore Max Diff Size'), + ascheck=True, func=disable_maxdiff),   dict(name='always-show-output', text=_('Always Show Output'),   ascheck=True, func=toggle_showoutput, check=self.showoutput)   ]),
 
392
393
394
395
 
396
397
398
 
399
400
401
 
392
393
394
 
395
396
397
 
398
399
400
401
@@ -392,10 +392,10 @@
  if not url:   return   if not url.startswith('http'): - fullurl = 'http://tortoisehg.org/manual/0.10/' + url + fullurl = 'http://tortoisehg.org/manual/1.0/' + url   # Use local CHM file if it can be found   if os.name == 'nt' and paths.bin_path: - chm = os.path.join(paths.bin_path, 'docs', 'TortoiseHg.chm') + chm = os.path.join(paths.bin_path, 'doc', 'TortoiseHg.chm')   if os.path.exists(chm):   fullurl = (r'mk:@MSITStore:%s::/' % chm) + url   shlib.browse_url(fullurl)
 
601
602
603
 
604
605
606
 
1120
1121
1122
 
 
 
1123
1124
1125
 
1154
1155
1156
1157
1158
1159
 
 
1160
1161
1162
1163
1164
1165
1166
1167
1168
 
1169
1170
1171
1172
 
 
 
 
 
 
 
 
 
 
1173
1174
1175
 
601
602
603
604
605
606
607
 
1121
1122
1123
1124
1125
1126
1127
1128
1129
 
1158
1159
1160
 
 
 
1161
1162
1163
1164
 
1165
1166
1167
1168
1169
 
1170
1171
1172
 
 
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
@@ -601,6 +601,7 @@
  self.pats = []   for name, check in self._show_checks.iteritems():   check.set_sensitive(True) + self.set_title(self.get_title())   self.reload_status()     def search_filelist(self, model, column, key, iter): @@ -1120,6 +1121,9 @@
  def generate_text_diffs(self, row):   wfile = self.filemodel[row][FM_PATH]   pfile = util.pconvert(wfile) + lines = self.check_max_diff(pfile) + if lines: + return self.diff_highlight_buffer(lines)   matcher = cmdutil.matchfiles(self.repo, [pfile])   opts = patch.diffopts(self.ui, self.opts)   opts.git = True @@ -1154,22 +1158,28 @@
  if len(self.diffmodel):   tree.scroll_to_cell(0, use_align=True, row_align=0.0)   - def read_file_chunks(self, wfile): - 'Get diffs of working file, parse into (c)hunks' - difftext = cStringIO.StringIO() + def check_max_diff(self, pfile): + lines = []   ctx = self.repo[self._node1]   try: - pfile = util.pconvert(wfile)   fctx = ctx.filectx(pfile)   except error.LookupError:   fctx = None   if fctx and fctx.size() > hglib.getmaxdiffsize(self.repo.ui):   # Fake patch that displays size warning - lines = ['diff --git a/%s b/%s\n' % (wfile, wfile)] + lines = ['diff --git a/%s b/%s\n' % (pfile, pfile)]   lines.append(_('File is larger than the specified max size.\n'))   lines.append(_('Hunk selection is disabled for this file.\n')) - lines.append('--- a/%s\n' % wfile) - lines.append('+++ b/%s\n' % wfile) + lines.append('--- a/%s\n' % pfile) + lines.append('+++ b/%s\n' % pfile) + return lines + + def read_file_chunks(self, wfile): + 'Get diffs of working file, parse into (c)hunks' + difftext = cStringIO.StringIO() + pfile = util.pconvert(wfile) + lines = self.check_max_diff(pfile) + if lines:   difftext.writelines(lines)   difftext.seek(0)   else:
 
96
97
98
99
100
101
102
103
104
105
 
174
175
176
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
178
179
 
96
97
98
 
 
 
 
99
100
101
 
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
@@ -96,10 +96,6 @@
 This should produce the file THgShell.dll, which contains the 32 bit variant of the  shell extension.   -To install it for testing on a 32 bit Windows, rename the THgShell.dll in "C:\Program Files\TortoiseHg" -to something else (e.g. THgShell-01.dll), then copy the newly built THgShell.dll to -"C:\Program Files\TortoiseHg" and restart explorer.exe (logout/login or restart will do as well). -    === Building the 64 bit target ===   @@ -174,6 +170,20 @@
     === Testing === +To install the new THgShell.dll for testing, rename the THgShellx86.dll in +"C:\Program Files\TortoiseHg" to something else (e.g. THgShell-01.dll), then copy the newly built +THgShell.dll to "C:\Program Files\TortoiseHg\THgShellx86.dll" and restart explorer.exe +(logout/login will do as well). + +For x64 systems, the dll is instead located in +"C:\Program Files\Common Files\TortoiseHg\ThgShellx64.dll". + +See +http://www.addictivetips.com/windows-tips/how-to-restart-explorer-exe-process-properly-in-windows-xp-and-vista/ +for properly restarting explorer (in case you don't want to do a logout/login). +Of course, simply killing explorer.exe with the task manager and restarting it will work too +(you might loose some settings changes you might have done in explorer though). +  The shell extension emits trace output (TDEBUG_TRACE macro calls in the sources). This output  can be captured by using for example the tool **DebugView** from Microsoft sysinternals (see  http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx).
Change 1 of 1 Show Entire File win32/​shellext/​swap.cmd Stacked
 
1
2
3
 
 
 
 
@@ -1,3 +0,0 @@
-del "C:\Program Files\TortoiseHg\ThgShell-old.dll" -rename "C:\Program Files\TortoiseHg\ThgShell.dll" ThgShell-old.dll -copy ThgShell.dll "C:\Program Files\TortoiseHg\ThgShell.dll"
 
1
2
 
 
3
 
 
 
1
2
3
@@ -1,3 +1,3 @@
-#define THG_VERSION_FIRST 0 -#define THG_VERSION_SECOND 10 +#define THG_VERSION_FIRST 1 +#define THG_VERSION_SECOND 0  #define THG_VERSION_THIRD 0