Show More
@@ -5,6 +5,6 b' Basic install:' | |||||
5 | $ hg debuginstall # sanity-check setup |
|
5 | $ hg debuginstall # sanity-check setup | |
6 | $ hg # see help |
|
6 | $ hg # see help | |
7 |
|
7 | |||
8 |
See http:// |
|
8 | See http://mercurial.selenic.com/ for detailed installation | |
9 | instructions, platform-specific notes, and Mercurial user information. |
|
9 | instructions, platform-specific notes, and Mercurial user information. | |
10 |
|
10 |
@@ -25,13 +25,13 b'' | |||||
25 | <p class="p2"><br></p> |
|
25 | <p class="p2"><br></p> | |
26 | <p class="p1"><b>Documentation</b></p> |
|
26 | <p class="p1"><b>Documentation</b></p> | |
27 | <p class="p2"><br></p> |
|
27 | <p class="p2"><br></p> | |
28 |
<p class="p3">Visit the <a href="http:// |
|
28 | <p class="p3">Visit the <a href="http://mercurial.selenic.com/">Mercurial web site and wiki</a></p> | |
29 | <p class="p2"><br></p> |
|
29 | <p class="p2"><br></p> | |
30 | <p class="p3">There's also a free book, <a href="http://hgbook.red-bean.com/">Distributed revision control with Mercurial</a></p> |
|
30 | <p class="p3">There's also a free book, <a href="http://hgbook.red-bean.com/">Distributed revision control with Mercurial</a></p> | |
31 | <p class="p2"><br></p> |
|
31 | <p class="p2"><br></p> | |
32 | <p class="p1"><b>Reporting problems</b></p> |
|
32 | <p class="p1"><b>Reporting problems</b></p> | |
33 | <p class="p2"><br></p> |
|
33 | <p class="p2"><br></p> | |
34 | <p class="p3">If you run into any problems, please file a bug online:</p> |
|
34 | <p class="p3">If you run into any problems, please file a bug online:</p> | |
35 |
<p class="p3"><a href="http:// |
|
35 | <p class="p3"><a href="http://mercurial.selenic.com/bts/">http://mercurial.selenic.com/bts/</a></p> | |
36 | </body> |
|
36 | </body> | |
37 | </html> |
|
37 | </html> |
@@ -11,10 +11,10 b'' | |||||
11 | </style> |
|
11 | </style> | |
12 | </head> |
|
12 | </head> | |
13 | <body> |
|
13 | <body> | |
14 |
<p class="p1">This is a prepackaged release of <a href="http:// |
|
14 | <p class="p1">This is a prepackaged release of <a href="http://mercurial.selenic.com/">Mercurial</a> for Mac OS X.</p> | |
15 | <p class="p2"><br></p> |
|
15 | <p class="p2"><br></p> | |
16 | <br> |
|
16 | <br> | |
17 | <p> |
|
17 | <p> | |
18 |
Please be sure to read the latest <a href="http:// |
|
18 | Please be sure to read the latest <a href="http://mercurial.selenic.com/wiki/WhatsNew">release notes</a>.</p> | |
19 | </body> |
|
19 | </body> | |
20 | </html> |
|
20 | </html> |
@@ -2,10 +2,10 b' Summary: Mercurial -- a distributed SCM' | |||||
2 | Name: mercurial |
|
2 | Name: mercurial | |
3 | Version: snapshot |
|
3 | Version: snapshot | |
4 | Release: 0 |
|
4 | Release: 0 | |
5 | License: GPL |
|
5 | License: GPLv2 | |
6 | Group: Development/Tools |
|
6 | Group: Development/Tools | |
7 | Source: http://www.selenic.com/mercurial/release/%{name}-%{version}.tar.gz |
|
7 | URL: http://mercurial.selenic.com/ | |
8 | URL: http://www.selenic.com/mercurial |
|
8 | Source0: http://mercurial.selenic.com/release/%{name}-%{version}.tar.gz | |
9 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root |
|
9 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root | |
10 |
|
10 | |||
11 | # From the README: |
|
11 | # From the README: | |
@@ -18,10 +18,10 b' BuildRoot: %{_tmppath}/%{name}-%{version' | |||||
18 | # run-time dependency. |
|
18 | # run-time dependency. | |
19 | # |
|
19 | # | |
20 | BuildRequires: python >= 2.4, python-devel, make, gcc, asciidoc, xmlto |
|
20 | BuildRequires: python >= 2.4, python-devel, make, gcc, asciidoc, xmlto | |
|
21 | Provides: hg = %{version}-%{release} | |||
21 |
|
22 | |||
22 | %define pythonver %(python -c 'import sys;print ".".join(map(str, sys.version_info[:2]))') |
|
23 | %define pythonver %(python -c 'import sys;print ".".join(map(str, sys.version_info[:2]))') | |
23 | %define pythonlib %{_libdir}/python%{pythonver}/site-packages/%{name} |
|
24 | %define emacs_lispdir %{_datadir}/emacs/site-lisp | |
24 | %define hgext %{_libdir}/python%{pythonver}/site-packages/hgext |
|
|||
25 |
|
25 | |||
26 | %description |
|
26 | %description | |
27 | Mercurial is a fast, lightweight source control management system designed |
|
27 | Mercurial is a fast, lightweight source control management system designed | |
@@ -45,23 +45,26 b' install contrib/git-viz/{hg-viz,git-rev-' | |||||
45 |
|
45 | |||
46 | bash_completion_dir=$RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d |
|
46 | bash_completion_dir=$RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d | |
47 | mkdir -p $bash_completion_dir |
|
47 | mkdir -p $bash_completion_dir | |
48 | install contrib/bash_completion $bash_completion_dir/mercurial.sh |
|
48 | install -m 644 contrib/bash_completion $bash_completion_dir/mercurial.sh | |
49 |
|
49 | |||
50 | zsh_completion_dir=$RPM_BUILD_ROOT%{_datadir}/zsh/site-functions |
|
50 | zsh_completion_dir=$RPM_BUILD_ROOT%{_datadir}/zsh/site-functions | |
51 | mkdir -p $zsh_completion_dir |
|
51 | mkdir -p $zsh_completion_dir | |
52 | install contrib/zsh_completion $zsh_completion_dir/_mercurial |
|
52 | install -m 644 contrib/zsh_completion $zsh_completion_dir/_mercurial | |
53 |
|
53 | |||
54 |
|
|
54 | mkdir -p $RPM_BUILD_ROOT%{emacs_lispdir} | |
55 | mkdir -p $lisp_dir |
|
55 | install contrib/mercurial.el $RPM_BUILD_ROOT%{emacs_lispdir} | |
56 | install contrib/mercurial.el $lisp_dir |
|
56 | ||
|
57 | mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/mercurial/hgrc.d | |||
|
58 | install contrib/mergetools.hgrc $RPM_BUILD_ROOT%{_sysconfdir}/mercurial/hgrc.d/mergetools.rc | |||
57 |
|
59 | |||
58 | %clean |
|
60 | %clean | |
59 | rm -rf $RPM_BUILD_ROOT |
|
61 | rm -rf $RPM_BUILD_ROOT | |
60 |
|
62 | |||
61 | %files |
|
63 | %files | |
62 | %defattr(-,root,root,-) |
|
64 | %defattr(-,root,root,-) | |
63 | %doc CONTRIBUTORS COPYING doc/README doc/hg*.txt doc/hg*.html doc/ja *.cgi |
|
65 | %doc CONTRIBUTORS COPYING doc/README doc/hg*.txt doc/hg*.html doc/ja *.cgi contrib/*.fcgi | |
64 | %{_mandir}/man?/hg*.gz |
|
66 | %doc %attr(644,root,root) %{_mandir}/man?/hg*.gz | |
|
67 | %doc %attr(644,root,root) contrib/*.svg contrib/sample.hgrc | |||
65 | %{_sysconfdir}/bash_completion.d/mercurial.sh |
|
68 | %{_sysconfdir}/bash_completion.d/mercurial.sh | |
66 | %{_datadir}/zsh/site-functions/_mercurial |
|
69 | %{_datadir}/zsh/site-functions/_mercurial | |
67 | %{_datadir}/emacs/site-lisp/mercurial.el |
|
70 | %{_datadir}/emacs/site-lisp/mercurial.el | |
@@ -71,8 +74,13 b' rm -rf $RPM_BUILD_ROOT' | |||||
71 | %{_bindir}/hg-viz |
|
74 | %{_bindir}/hg-viz | |
72 | %{_bindir}/git-rev-tree |
|
75 | %{_bindir}/git-rev-tree | |
73 | %{_bindir}/mercurial-convert-repo |
|
76 | %{_bindir}/mercurial-convert-repo | |
|
77 | %dir %{_sysconfdir}/bash_completion.d/ | |||
|
78 | %dir %{_datadir}/zsh/site-functions/ | |||
|
79 | %dir %{_sysconfdir}/mercurial | |||
|
80 | %dir %{_sysconfdir}/mercurial/hgrc.d | |||
|
81 | %config(noreplace) %{_sysconfdir}/mercurial/hgrc.d/mergetools.rc | |||
74 | %if "%{?pythonver}" != "2.4" |
|
82 | %if "%{?pythonver}" != "2.4" | |
75 | %{_libdir}/python%{pythonver}/site-packages/%{name}-*-py%{pythonver}.egg-info |
|
83 | %{_libdir}/python%{pythonver}/site-packages/%{name}-*-py%{pythonver}.egg-info | |
76 | %endif |
|
84 | %endif | |
77 | %{pythonlib} |
|
85 | %{_libdir}/python%{pythonver}/site-packages/%{name} | |
78 | %{hgext} |
|
86 | %{_libdir}/python%{pythonver}/site-packages/hgext |
@@ -1226,7 +1226,7 b' finish' | |||||
1226 |
|
1226 | |||
1227 | Author: Mathieu Clabaut <mathieu.clabaut@gmail.com> |
|
1227 | Author: Mathieu Clabaut <mathieu.clabaut@gmail.com> | |
1228 | Credits: Bob Hiestand <bob.hiestand@gmail.com> |
|
1228 | Credits: Bob Hiestand <bob.hiestand@gmail.com> | |
1229 |
Mercurial: http:// |
|
1229 | Mercurial: http://mercurial.selenic.com/ | |
1230 | Mercurial (noted Hg) is a fast, lightweight Source Control Management |
|
1230 | Mercurial (noted Hg) is a fast, lightweight Source Control Management | |
1231 | system designed for efficient handling of very large distributed projects. |
|
1231 | system designed for efficient handling of very large distributed projects. | |
1232 |
|
1232 |
@@ -49,7 +49,7 b'' | |||||
49 |
|
49 | |||
50 | <p> |
|
50 | <p> | |
51 | For documentation, please visit the <a |
|
51 | For documentation, please visit the <a | |
52 |
href="http:// |
|
52 | href="http://mercurial.selenic.com/">Mercurial web site</a>. | |
53 | You can also download a free book, <a |
|
53 | You can also download a free book, <a | |
54 | href="http://hgbook.red-bean.com/">Mercurial: The Definitive |
|
54 | href="http://hgbook.red-bean.com/">Mercurial: The Definitive | |
55 | Guide</a>. |
|
55 | Guide</a>. | |
@@ -100,7 +100,7 b' editor = whatever' | |||||
100 | By default, Mercurial will use the merge program defined by the |
|
100 | By default, Mercurial will use the merge program defined by the | |
101 | <tt>HGMERGE</tt> environment variable, or uses the one defined |
|
101 | <tt>HGMERGE</tt> environment variable, or uses the one defined | |
102 | in the <tt>mercurial.ini</tt> file. (see <a |
|
102 | in the <tt>mercurial.ini</tt> file. (see <a | |
103 |
href="http:// |
|
103 | href="http://mercurial.selenic.com/wiki/MergeProgram">MergeProgram</a> | |
104 | on the Mercurial Wiki for more information) |
|
104 | on the Mercurial Wiki for more information) | |
105 | </p> |
|
105 | </p> | |
106 |
|
106 | |||
@@ -108,9 +108,9 b' editor = whatever' | |||||
108 |
|
108 | |||
109 | <p> |
|
109 | <p> | |
110 | Before you report any problems, please consult the <a |
|
110 | Before you report any problems, please consult the <a | |
111 |
href="http:// |
|
111 | href="http://mercurial.selenic.com/">Mercurial web site</a> | |
112 | and see if your question is already in our list of <a |
|
112 | and see if your question is already in our list of <a | |
113 |
href="http:// |
|
113 | href="http://mercurial.selenic.com/wiki/FAQ">Frequently | |
114 | Answered Questions</a> (the "FAQ"). |
|
114 | Answered Questions</a> (the "FAQ"). | |
115 | </p> |
|
115 | </p> | |
116 |
|
116 |
@@ -8,9 +8,9 b' InfoAfterFile=contrib/win32/postinstall.' | |||||
8 | LicenseFile=COPYING |
|
8 | LicenseFile=COPYING | |
9 | ShowLanguageDialog=yes |
|
9 | ShowLanguageDialog=yes | |
10 | AppPublisher=Matt Mackall and others |
|
10 | AppPublisher=Matt Mackall and others | |
11 |
AppPublisherURL=http:// |
|
11 | AppPublisherURL=http://mercurial.selenic.com/ | |
12 |
AppSupportURL=http:// |
|
12 | AppSupportURL=http://mercurial.selenic.com/ | |
13 |
AppUpdatesURL=http:// |
|
13 | AppUpdatesURL=http://mercurial.selenic.com/ | |
14 | AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3} |
|
14 | AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3} | |
15 | AppContact=mercurial@selenic.com |
|
15 | AppContact=mercurial@selenic.com | |
16 | OutputBaseFilename=Mercurial-snapshot |
|
16 | OutputBaseFilename=Mercurial-snapshot | |
@@ -51,7 +51,7 b' Source: CONTRIBUTORS; DestDir: {app}; De' | |||||
51 | Source: COPYING; DestDir: {app}; DestName: Copying.txt |
|
51 | Source: COPYING; DestDir: {app}; DestName: Copying.txt | |
52 |
|
52 | |||
53 | [INI] |
|
53 | [INI] | |
54 |
Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: http:// |
|
54 | Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: http://mercurial.selenic.com/ | |
55 |
|
55 | |||
56 | [UninstallDelete] |
|
56 | [UninstallDelete] | |
57 | Type: files; Name: {app}\Mercurial.url |
|
57 | Type: files; Name: {app}\Mercurial.url |
@@ -6,4 +6,4 b' file that comes with this package.' | |||||
6 |
|
6 | |||
7 | Also check the release notes at: |
|
7 | Also check the release notes at: | |
8 |
|
8 | |||
9 |
http:// |
|
9 | http://mercurial.selenic.com/wiki/WhatsNew |
@@ -13,13 +13,25 b'' | |||||
13 | # autoload -U compinit |
|
13 | # autoload -U compinit | |
14 | # compinit |
|
14 | # compinit | |
15 | # |
|
15 | # | |
16 |
# Copyright (C) 2005 |
|
16 | # Copyright (C) 2005, 2006 Steve Borho <steve@borho.org> | |
17 |
# Copyright (C) 2006 |
|
17 | # Copyright (C) 2006, 2007, 2008 Brendan Cully <brendan@kublai.com> | |
|
18 | # | |||
|
19 | # Permission is hereby granted, without written agreement and without | |||
|
20 | # licence or royalty fees, to use, copy, modify, and distribute this | |||
|
21 | # software and to distribute modified versions of this software for any | |||
|
22 | # purpose, provided that the above copyright notice and the following | |||
|
23 | # two paragraphs appear in all copies of this software. | |||
18 | # |
|
24 | # | |
19 | # This is free software; you can redistribute it and/or modify it under |
|
25 | # In no event shall the authors be liable to any party for direct, | |
20 | # the terms of the GNU General Public License as published by the Free |
|
26 | # indirect, special, incidental, or consequential damages arising out of | |
21 | # Software Foundation; either version 2 of the License, or (at your |
|
27 | # the use of this software and its documentation, even if the authors | |
22 | # option) any later version. |
|
28 | # have been advised of the possibility of such damage. | |
|
29 | # | |||
|
30 | # The authors specifically disclaim any warranties, including, but not | |||
|
31 | # limited to, the implied warranties of merchantability and fitness for | |||
|
32 | # a particular purpose. The software provided hereunder is on an "as | |||
|
33 | # is" basis, and the authors have no obligation to provide maintenance, | |||
|
34 | # support, updates, enhancements, or modifications. | |||
23 |
|
35 | |||
24 | emulate -LR zsh |
|
36 | emulate -LR zsh | |
25 | setopt extendedglob |
|
37 | setopt extendedglob |
@@ -75,7 +75,7 b' Written by Matt Mackall <mpm@selenic.com' | |||||
75 |
|
75 | |||
76 | RESOURCES |
|
76 | RESOURCES | |
77 | --------- |
|
77 | --------- | |
78 |
http://selenic.com/ |
|
78 | http://mercurial.selenic.com/[Main Web Site] | |
79 |
|
79 | |||
80 | http://selenic.com/hg[Source code repository] |
|
80 | http://selenic.com/hg[Source code repository] | |
81 |
|
81 |
@@ -852,7 +852,7 b' Matt Mackall <mpm@selenic.com> \xe3\x81\xab\xe3\x82\x88\xe3\x82\x8a\xe6\x9b\xb8\xe3\x81\x8b\xe3\x82\x8c\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82' | |||||
852 |
|
852 | |||
853 | 情報源 |
|
853 | 情報源 | |
854 | --- |
|
854 | --- | |
855 |
http://selenic.com/ |
|
855 | http://mercurial.selenic.com/[主なウェブサイト] | |
856 |
|
856 | |||
857 | http://www.serpentine.com/mercurial[Wiki サイト] |
|
857 | http://www.serpentine.com/mercurial[Wiki サイト] | |
858 |
|
858 |
@@ -6,7 +6,7 b'' | |||||
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
7 | # |
|
7 | # | |
8 |
|
8 | |||
9 | '''control access to a repository using simple hooks |
|
9 | '''hooks for controlling repository access | |
10 |
|
10 | |||
11 | This hook makes it possible to allow or deny write access to portions |
|
11 | This hook makes it possible to allow or deny write access to portions | |
12 | of a repository when receiving incoming changesets. |
|
12 | of a repository when receiving incoming changesets. |
@@ -257,14 +257,14 b' def reposetup(ui, repo):' | |||||
257 | node = super(bookmark_repo, self).commit(*k, **kw) |
|
257 | node = super(bookmark_repo, self).commit(*k, **kw) | |
258 | if node is None: |
|
258 | if node is None: | |
259 | return None |
|
259 | return None | |
260 |
parents = |
|
260 | parents = self.changelog.parents(node) | |
261 | if parents[1] == nullid: |
|
261 | if parents[1] == nullid: | |
262 | parents = (parents[0],) |
|
262 | parents = (parents[0],) | |
263 |
marks = parse( |
|
263 | marks = parse(self) | |
264 | update = False |
|
264 | update = False | |
265 | for mark, n in marks.items(): |
|
265 | for mark, n in marks.items(): | |
266 | if ui.configbool('bookmarks', 'track.current'): |
|
266 | if ui.configbool('bookmarks', 'track.current'): | |
267 |
if mark == current( |
|
267 | if mark == current(self) and n in parents: | |
268 | marks[mark] = node |
|
268 | marks[mark] = node | |
269 | update = True |
|
269 | update = True | |
270 | else: |
|
270 | else: | |
@@ -272,28 +272,28 b' def reposetup(ui, repo):' | |||||
272 | marks[mark] = node |
|
272 | marks[mark] = node | |
273 | update = True |
|
273 | update = True | |
274 | if update: |
|
274 | if update: | |
275 |
write( |
|
275 | write(self, marks) | |
276 | return node |
|
276 | return node | |
277 | finally: |
|
277 | finally: | |
278 | wlock.release() |
|
278 | wlock.release() | |
279 |
|
279 | |||
280 | def addchangegroup(self, source, srctype, url, emptyok=False): |
|
280 | def addchangegroup(self, source, srctype, url, emptyok=False): | |
281 |
parents = |
|
281 | parents = self.dirstate.parents() | |
282 |
|
282 | |||
283 | result = super(bookmark_repo, self).addchangegroup( |
|
283 | result = super(bookmark_repo, self).addchangegroup( | |
284 | source, srctype, url, emptyok) |
|
284 | source, srctype, url, emptyok) | |
285 | if result > 1: |
|
285 | if result > 1: | |
286 | # We have more heads than before |
|
286 | # We have more heads than before | |
287 | return result |
|
287 | return result | |
288 |
node = |
|
288 | node = self.changelog.tip() | |
289 |
marks = parse( |
|
289 | marks = parse(self) | |
290 | update = False |
|
290 | update = False | |
291 | for mark, n in marks.items(): |
|
291 | for mark, n in marks.items(): | |
292 | if n in parents: |
|
292 | if n in parents: | |
293 | marks[mark] = node |
|
293 | marks[mark] = node | |
294 | update = True |
|
294 | update = True | |
295 | if update: |
|
295 | if update: | |
296 |
write( |
|
296 | write(self, marks) | |
297 | return result |
|
297 | return result | |
298 |
|
298 | |||
299 | def tags(self): |
|
299 | def tags(self): | |
@@ -302,7 +302,7 b' def reposetup(ui, repo):' | |||||
302 | return self.tagscache |
|
302 | return self.tagscache | |
303 |
|
303 | |||
304 | tagscache = super(bookmark_repo, self).tags() |
|
304 | tagscache = super(bookmark_repo, self).tags() | |
305 |
tagscache.update(parse( |
|
305 | tagscache.update(parse(self)) | |
306 | return tagscache |
|
306 | return tagscache | |
307 |
|
307 | |||
308 | repo.__class__ = bookmark_repo |
|
308 | repo.__class__ = bookmark_repo |
@@ -5,7 +5,7 b'' | |||||
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
7 |
|
7 | |||
8 |
'''integrat |
|
8 | '''hooks for integrating with the Bugzilla bug tracker | |
9 |
|
9 | |||
10 | This hook extension adds comments on bugs in Bugzilla when changesets |
|
10 | This hook extension adds comments on bugs in Bugzilla when changesets | |
11 | that refer to bugs by Bugzilla ID are seen. The hook does not change |
|
11 | that refer to bugs by Bugzilla ID are seen. The hook does not change |
@@ -8,7 +8,7 b'' | |||||
8 | # This software may be used and distributed according to the terms of the |
|
8 | # This software may be used and distributed according to the terms of the | |
9 | # GNU General Public License version 2, incorporated herein by reference. |
|
9 | # GNU General Public License version 2, incorporated herein by reference. | |
10 |
|
10 | |||
11 |
'''display child |
|
11 | '''command to display child changesets''' | |
12 |
|
12 | |||
13 | from mercurial import cmdutil |
|
13 | from mercurial import cmdutil | |
14 | from mercurial.commands import templateopts |
|
14 | from mercurial.commands import templateopts |
@@ -6,7 +6,7 b'' | |||||
6 | # This software may be used and distributed according to the terms of the |
|
6 | # This software may be used and distributed according to the terms of the | |
7 | # GNU General Public License version 2, incorporated herein by reference. |
|
7 | # GNU General Public License version 2, incorporated herein by reference. | |
8 |
|
8 | |||
9 | '''display statistics about repository history''' |
|
9 | '''command to display statistics about repository history''' | |
10 |
|
10 | |||
11 | from mercurial.i18n import _ |
|
11 | from mercurial.i18n import _ | |
12 | from mercurial import patch, cmdutil, util, templater |
|
12 | from mercurial import patch, cmdutil, util, templater |
@@ -60,7 +60,7 b' diff.trailingwhitespace = bold red_backg' | |||||
60 |
|
60 | |||
61 | import os, sys |
|
61 | import os, sys | |
62 |
|
62 | |||
63 | from mercurial import cmdutil, commands, extensions |
|
63 | from mercurial import cmdutil, commands, extensions, error | |
64 | from mercurial.i18n import _ |
|
64 | from mercurial.i18n import _ | |
65 |
|
65 | |||
66 | # start and stop parameters for effects |
|
66 | # start and stop parameters for effects | |
@@ -220,18 +220,30 b' def colordiff(orig, ui, repo, *pats, **o' | |||||
220 | 'changed': ['white'], |
|
220 | 'changed': ['white'], | |
221 | 'trailingwhitespace': ['bold', 'red_background']} |
|
221 | 'trailingwhitespace': ['bold', 'red_background']} | |
222 |
|
222 | |||
|
223 | _ui = None | |||
|
224 | ||||
223 | def uisetup(ui): |
|
225 | def uisetup(ui): | |
224 | '''Initialize the extension.''' |
|
226 | '''Initialize the extension.''' | |
|
227 | global _ui | |||
|
228 | _ui = ui | |||
225 | _setupcmd(ui, 'diff', commands.table, colordiff, _diff_effects) |
|
229 | _setupcmd(ui, 'diff', commands.table, colordiff, _diff_effects) | |
226 | _setupcmd(ui, 'incoming', commands.table, None, _diff_effects) |
|
230 | _setupcmd(ui, 'incoming', commands.table, None, _diff_effects) | |
227 | _setupcmd(ui, 'log', commands.table, None, _diff_effects) |
|
231 | _setupcmd(ui, 'log', commands.table, None, _diff_effects) | |
228 | _setupcmd(ui, 'outgoing', commands.table, None, _diff_effects) |
|
232 | _setupcmd(ui, 'outgoing', commands.table, None, _diff_effects) | |
229 | _setupcmd(ui, 'tip', commands.table, None, _diff_effects) |
|
233 | _setupcmd(ui, 'tip', commands.table, None, _diff_effects) | |
230 | _setupcmd(ui, 'status', commands.table, colorstatus, _status_effects) |
|
234 | _setupcmd(ui, 'status', commands.table, colorstatus, _status_effects) | |
|
235 | ||||
|
236 | def extsetup(): | |||
231 | try: |
|
237 | try: | |
232 | mq = extensions.find('mq') |
|
238 | mq = extensions.find('mq') | |
233 | _setupcmd(ui, 'qdiff', mq.cmdtable, colordiff, _diff_effects) |
|
239 | try: | |
234 | _setupcmd(ui, 'qseries', mq.cmdtable, colorqseries, _patch_effects) |
|
240 | # If we are loaded after mq, we must wrap commands.table | |
|
241 | _setupcmd(_ui, 'qdiff', commands.table, colordiff, _diff_effects) | |||
|
242 | _setupcmd(_ui, 'qseries', commands.table, colorqseries, _patch_effects) | |||
|
243 | except error.UnknownCommand: | |||
|
244 | # Otherwise we wrap mq.cmdtable | |||
|
245 | _setupcmd(_ui, 'qdiff', mq.cmdtable, colordiff, _diff_effects) | |||
|
246 | _setupcmd(_ui, 'qseries', mq.cmdtable, colorqseries, _patch_effects) | |||
235 | except KeyError: |
|
247 | except KeyError: | |
236 | # The mq extension is not enabled |
|
248 | # The mq extension is not enabled | |
237 | pass |
|
249 | pass | |
@@ -261,6 +273,15 b' def _setupcmd(ui, cmd, table, func, effe' | |||||
261 | ]) |
|
273 | ]) | |
262 |
|
274 | |||
263 | for status in effectsmap: |
|
275 | for status in effectsmap: | |
264 |
|
|
276 | configkey = cmd + '.' + status | |
|
277 | effects = ui.configlist('color', configkey) | |||
265 | if effects: |
|
278 | if effects: | |
266 | effectsmap[status] = effects |
|
279 | good = [] | |
|
280 | for e in effects: | |||
|
281 | if e in _effect_params: | |||
|
282 | good.append(e) | |||
|
283 | else: | |||
|
284 | ui.warn(_("ignoring unknown color/effect %r " | |||
|
285 | "(configured in color.%s)\n") | |||
|
286 | % (e, configkey)) | |||
|
287 | effectsmap[status] = good |
@@ -5,7 +5,7 b'' | |||||
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
7 |
|
7 | |||
8 | '''import from foreign VCS repositories into Mercurial''' |
|
8 | '''import revisions from foreign VCS repositories into Mercurial''' | |
9 |
|
9 | |||
10 | import convcmd |
|
10 | import convcmd | |
11 | import cvsps |
|
11 | import cvsps |
@@ -5,7 +5,7 b'' | |||||
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
7 |
|
7 | |||
8 | '''allow external programs to compare revisions |
|
8 | '''command to allow external programs to compare revisions | |
9 |
|
9 | |||
10 | The `extdiff' Mercurial extension allows you to use external programs |
|
10 | The `extdiff' Mercurial extension allows you to use external programs | |
11 | to compare revisions, or revision with working directory. The external diff |
|
11 | to compare revisions, or revision with working directory. The external diff |
@@ -3,7 +3,7 b'' | |||||
3 | # This software may be used and distributed according to the terms of the |
|
3 | # This software may be used and distributed according to the terms of the | |
4 | # GNU General Public License version 2, incorporated herein by reference. |
|
4 | # GNU General Public License version 2, incorporated herein by reference. | |
5 |
|
5 | |||
6 | '''sign and verify changesets''' |
|
6 | '''commands to sign and verify changesets''' | |
7 |
|
7 | |||
8 | import os, tempfile, binascii |
|
8 | import os, tempfile, binascii | |
9 | from mercurial import util, commands, match |
|
9 | from mercurial import util, commands, match |
@@ -5,7 +5,7 b'' | |||||
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
7 |
|
7 | |||
8 |
''' |
|
8 | '''command to view revision graphs from a shell | |
9 |
|
9 | |||
10 | This extension adds a --graph option to the incoming, outgoing and log |
|
10 | This extension adds a --graph option to the incoming, outgoing and log | |
11 | commands. When this options is given, an ASCII representation of the |
|
11 | commands. When this options is given, an ASCII representation of the |
@@ -1,7 +1,7 b'' | |||||
1 | # Copyright (C) 2007-8 Brendan Cully <brendan@kublai.com> |
|
1 | # Copyright (C) 2007-8 Brendan Cully <brendan@kublai.com> | |
2 | # Published under the GNU GPL |
|
2 | # Published under the GNU GPL | |
3 |
|
3 | |||
4 |
"""integrat |
|
4 | """hooks for integrating with the CIA.vc notification service | |
5 |
|
5 | |||
6 | This is meant to be run as a changegroup or incoming hook. |
|
6 | This is meant to be run as a changegroup or incoming hook. | |
7 | To configure it, set the following options in your hgrc: |
|
7 | To configure it, set the following options in your hgrc: |
@@ -331,7 +331,7 b' cmdtable = {' | |||||
331 | "debug-config": |
|
331 | "debug-config": | |
332 | (config, [], _('hg debug-config')), |
|
332 | (config, [], _('hg debug-config')), | |
333 | "debug-merge-base": |
|
333 | "debug-merge-base": | |
334 |
(base, [], _('hg debug-merge-base |
|
334 | (base, [], _('hg debug-merge-base REV REV')), | |
335 | "debug-rev-parse": |
|
335 | "debug-rev-parse": | |
336 | (revparse, |
|
336 | (revparse, | |
337 | [('', 'default', '', _('ignored'))], |
|
337 | [('', 'default', '', _('ignored'))], | |
@@ -342,5 +342,5 b' cmdtable = {' | |||||
342 | ('t', 'topo-order', None, _('topo-order')), |
|
342 | ('t', 'topo-order', None, _('topo-order')), | |
343 | ('p', 'parents', None, _('parents')), |
|
343 | ('p', 'parents', None, _('parents')), | |
344 | ('n', 'max-count', 0, _('max-count'))], |
|
344 | ('n', 'max-count', 0, _('max-count'))], | |
345 |
_('hg debug-rev-list [ |
|
345 | _('hg debug-rev-list [OPTION]... REV...')), | |
346 | } |
|
346 | } |
@@ -8,7 +8,7 b'' | |||||
8 | # The original module was split in an interface and an implementation |
|
8 | # The original module was split in an interface and an implementation | |
9 | # file to defer pygments loading and speedup extension setup. |
|
9 | # file to defer pygments loading and speedup extension setup. | |
10 |
|
10 | |||
11 | """syntax highlighting for hgweb |
|
11 | """syntax highlighting for hgweb (requires Pygments) | |
12 |
|
12 | |||
13 | It depends on the Pygments syntax highlighting library: |
|
13 | It depends on the Pygments syntax highlighting library: | |
14 | http://pygments.org/ |
|
14 | http://pygments.org/ | |
@@ -19,8 +19,6 b' There is a single configuration option:' | |||||
19 | pygments_style = <style> |
|
19 | pygments_style = <style> | |
20 |
|
20 | |||
21 | The default is 'colorful'. |
|
21 | The default is 'colorful'. | |
22 |
|
||||
23 | -- Adam Hupp <adam@hupp.org> |
|
|||
24 | """ |
|
22 | """ | |
25 |
|
23 | |||
26 | import highlight |
|
24 | import highlight |
@@ -6,7 +6,7 b'' | |||||
6 | # This software may be used and distributed according to the terms of the |
|
6 | # This software may be used and distributed according to the terms of the | |
7 | # GNU General Public License version 2, incorporated herein by reference. |
|
7 | # GNU General Public License version 2, incorporated herein by reference. | |
8 |
|
8 | |||
9 |
'''accelerate status report using |
|
9 | '''accelerate status report using Linux's inotify service''' | |
10 |
|
10 | |||
11 | # todo: socket permissions |
|
11 | # todo: socket permissions | |
12 |
|
12 | |||
@@ -107,5 +107,5 b' cmdtable = {' | |||||
107 | ('', 'daemon-pipefds', '', _('used internally by daemon mode')), |
|
107 | ('', 'daemon-pipefds', '', _('used internally by daemon mode')), | |
108 | ('t', 'idle-timeout', '', _('minutes to sit idle before exiting')), |
|
108 | ('t', 'idle-timeout', '', _('minutes to sit idle before exiting')), | |
109 | ('', 'pid-file', '', _('name of file to write process ID to'))], |
|
109 | ('', 'pid-file', '', _('name of file to write process ID to'))], | |
110 | _('hg inserve [OPT]...')), |
|
110 | _('hg inserve [OPTION]...')), | |
111 | } |
|
111 | } |
@@ -288,14 +288,6 b' class repowatcher(pollable):' | |||||
288 | self.add_watch(self.repo.path, inotify.IN_DELETE) |
|
288 | self.add_watch(self.repo.path, inotify.IN_DELETE) | |
289 | self.check_dirstate() |
|
289 | self.check_dirstate() | |
290 |
|
290 | |||
291 | def wpath(self, evt): |
|
|||
292 | path = evt.fullpath |
|
|||
293 | if path == self.repo.root: |
|
|||
294 | return '' |
|
|||
295 | if path.startswith(self.wprefix): |
|
|||
296 | return path[len(self.wprefix):] |
|
|||
297 | raise 'wtf? ' + path |
|
|||
298 |
|
||||
299 | def dir(self, tree, path): |
|
291 | def dir(self, tree, path): | |
300 | if path: |
|
292 | if path: | |
301 | for name in path.split('/'): |
|
293 | for name in path.split('/'): | |
@@ -585,7 +577,9 b' class repowatcher(pollable):' | |||||
585 | self.ui.note(_('%s reading %d events\n') % |
|
577 | self.ui.note(_('%s reading %d events\n') % | |
586 | (self.event_time(), len(events))) |
|
578 | (self.event_time(), len(events))) | |
587 | for evt in events: |
|
579 | for evt in events: | |
588 | wpath = self.wpath(evt) |
|
580 | assert evt.fullpath.startswith(self.wprefix) | |
|
581 | wpath = evt.fullpath[len(self.wprefix):] | |||
|
582 | ||||
589 | if evt.mask & inotify.IN_UNMOUNT: |
|
583 | if evt.mask & inotify.IN_UNMOUNT: | |
590 | self.process_unmount(wpath, evt) |
|
584 | self.process_unmount(wpath, evt) | |
591 | elif evt.mask & (inotify.IN_MODIFY | inotify.IN_ATTRIB): |
|
585 | elif evt.mask & (inotify.IN_MODIFY | inotify.IN_ATTRIB): | |
@@ -717,6 +711,12 b' class server(pollable):' | |||||
717 | if version != common.version: |
|
711 | if version != common.version: | |
718 | self.ui.warn(_('received query from incompatible client ' |
|
712 | self.ui.warn(_('received query from incompatible client ' | |
719 | 'version %d\n') % version) |
|
713 | 'version %d\n') % version) | |
|
714 | try: | |||
|
715 | # try to send back our version to the client | |||
|
716 | # this way, the client too is informed of the mismatch | |||
|
717 | sock.sendall(chr(common.version)) | |||
|
718 | except: | |||
|
719 | pass | |||
720 | return |
|
720 | return | |
721 |
|
721 | |||
722 | type = cs.read(4) |
|
722 | type = cs.read(4) |
@@ -15,7 +15,7 b'' | |||||
15 | # audience not running a version control system. |
|
15 | # audience not running a version control system. | |
16 | # |
|
16 | # | |
17 | # For in-depth discussion refer to |
|
17 | # For in-depth discussion refer to | |
18 |
# <http:// |
|
18 | # <http://mercurial.selenic.com/wiki/KeywordPlan>. | |
19 | # |
|
19 | # | |
20 | # Keyword expansion is based on Mercurial's changeset template mappings. |
|
20 | # Keyword expansion is based on Mercurial's changeset template mappings. | |
21 | # |
|
21 | # | |
@@ -281,9 +281,6 b' def demo(ui, repo, *args, **opts):' | |||||
281 |
|
281 | |||
282 | Override current keyword template maps with "default" option. |
|
282 | Override current keyword template maps with "default" option. | |
283 | ''' |
|
283 | ''' | |
284 | def demostatus(stat): |
|
|||
285 | ui.status(_('\n\t%s\n') % stat) |
|
|||
286 |
|
||||
287 | def demoitems(section, items): |
|
284 | def demoitems(section, items): | |
288 | ui.write('[%s]\n' % section) |
|
285 | ui.write('[%s]\n' % section) | |
289 | for k, v in items: |
|
286 | for k, v in items: | |
@@ -323,7 +320,7 b' def demo(ui, repo, *args, **opts):' | |||||
323 | if k.endswith('keyword'): |
|
320 | if k.endswith('keyword'): | |
324 | extension = '%s = %s' % (k, v) |
|
321 | extension = '%s = %s' % (k, v) | |
325 | break |
|
322 | break | |
326 |
|
|
323 | ui.status(_('\n\tconfig using %s keyword template maps\n') % kwstatus) | |
327 | ui.write('[extensions]\n%s\n' % extension) |
|
324 | ui.write('[extensions]\n%s\n' % extension) | |
328 | demoitems('keyword', ui.configitems('keyword')) |
|
325 | demoitems('keyword', ui.configitems('keyword')) | |
329 | demoitems('keywordmaps', kwmaps.iteritems()) |
|
326 | demoitems('keywordmaps', kwmaps.iteritems()) | |
@@ -346,7 +343,7 b' def demo(ui, repo, *args, **opts):' | |||||
346 | ui.note('hg -R "%s" ci -m "%s"\n' % (tmpdir, msg)) |
|
343 | ui.note('hg -R "%s" ci -m "%s"\n' % (tmpdir, msg)) | |
347 | repo.commit(text=msg) |
|
344 | repo.commit(text=msg) | |
348 | fmt = ui.verbose and ' in %s' % path or '' |
|
345 | fmt = ui.verbose and ' in %s' % path or '' | |
349 |
|
|
346 | ui.status(_('\n\t%s keywords expanded%s\n') % (kwstatus, fmt)) | |
350 | ui.write(repo.wread(fn)) |
|
347 | ui.write(repo.wread(fn)) | |
351 | ui.debug(_('\nremoving temporary repository %s\n') % tmpdir) |
|
348 | ui.debug(_('\nremoving temporary repository %s\n') % tmpdir) | |
352 | shutil.rmtree(tmpdir, ignore_errors=True) |
|
349 | shutil.rmtree(tmpdir, ignore_errors=True) | |
@@ -362,22 +359,40 b' def expand(ui, repo, *pats, **opts):' | |||||
362 | _kwfwrite(ui, repo, True, *pats, **opts) |
|
359 | _kwfwrite(ui, repo, True, *pats, **opts) | |
363 |
|
360 | |||
364 | def files(ui, repo, *pats, **opts): |
|
361 | def files(ui, repo, *pats, **opts): | |
365 |
''' |
|
362 | '''show files configured for keyword expansion | |
|
363 | ||||
|
364 | List which files in the working directory are matched by the | |||
|
365 | [keyword] configuration patterns. | |||
|
366 | ||||
|
367 | Useful to prevent inadvertent keyword expansion and to speed up | |||
|
368 | execution by including only files that are actual candidates | |||
|
369 | for expansion. | |||
366 |
|
370 | |||
367 | Crosscheck which files in working directory are potential targets |
|
371 | See "hg help keyword" on how to construct patterns both for | |
368 | for keyword expansion. That is, files matched by [keyword] config |
|
372 | inclusion and exclusion of files. | |
369 | patterns but not symlinks. |
|
373 | ||
|
374 | Use -u/--untracked to list untracked files as well. | |||
|
375 | ||||
|
376 | With -a/--all and -v/--verbose the codes used to show the status | |||
|
377 | of files are: | |||
|
378 | K = keyword expansion candidate | |||
|
379 | k = keyword expansion candidate (untracked) | |||
|
380 | I = ignored | |||
|
381 | i = ignored (untracked) | |||
370 | ''' |
|
382 | ''' | |
371 | kwt = kwtools['templater'] |
|
383 | kwt = kwtools['templater'] | |
372 | status = _status(ui, repo, kwt, opts.get('untracked'), *pats, **opts) |
|
384 | status = _status(ui, repo, kwt, opts.get('untracked'), *pats, **opts) | |
373 | modified, added, removed, deleted, unknown, ignored, clean = status |
|
385 | modified, added, removed, deleted, unknown, ignored, clean = status | |
374 |
files = sorted(modified + added + clean |
|
386 | files = sorted(modified + added + clean) | |
375 | wctx = repo[None] |
|
387 | wctx = repo[None] | |
376 | kwfiles = [f for f in files if kwt.iskwfile(f, wctx.flags)] |
|
388 | kwfiles = [f for f in files if kwt.iskwfile(f, wctx.flags)] | |
|
389 | kwuntracked = [f for f in unknown if kwt.iskwfile(f, wctx.flags)] | |||
377 | cwd = pats and repo.getcwd() or '' |
|
390 | cwd = pats and repo.getcwd() or '' | |
378 |
kwfstats = not opts.get('ignore') and |
|
391 | kwfstats = (not opts.get('ignore') and | |
|
392 | (('K', kwfiles), ('k', kwuntracked),) or ()) | |||
379 | if opts.get('all') or opts.get('ignore'): |
|
393 | if opts.get('all') or opts.get('ignore'): | |
380 |
kwfstats += (('I', [f for f in files if f not in kwfiles]), |
|
394 | kwfstats += (('I', [f for f in files if f not in kwfiles]), | |
|
395 | ('i', [f for f in unknown if f not in kwuntracked]),) | |||
381 | for char, filenames in kwfstats: |
|
396 | for char, filenames in kwfstats: | |
382 | fmt = (opts.get('all') or ui.verbose) and '%s %%s\n' % char or '%s\n' |
|
397 | fmt = (opts.get('all') or ui.verbose) and '%s %%s\n' % char or '%s\n' | |
383 | for f in filenames: |
|
398 | for f in filenames: |
@@ -5,7 +5,7 b'' | |||||
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
7 |
|
7 | |||
8 |
''' |
|
8 | '''manage a stack of patches | |
9 |
|
9 | |||
10 | This extension lets you work with a stack of patches in a Mercurial |
|
10 | This extension lets you work with a stack of patches in a Mercurial | |
11 | repository. It manages two stacks of patches - all known patches, and |
|
11 | repository. It manages two stacks of patches - all known patches, and | |
@@ -1641,11 +1641,8 b' class queue(object):' | |||||
1641 | def delete(ui, repo, *patches, **opts): |
|
1641 | def delete(ui, repo, *patches, **opts): | |
1642 | """remove patches from queue |
|
1642 | """remove patches from queue | |
1643 |
|
1643 | |||
1644 | The patches must not be applied, and at least one patch is |
|
1644 | The patches must not be applied, and at least one patch is required. With | |
1645 | required. |
|
1645 | -k/--keep, the patch files are preserved in the patch directory. | |
1646 |
|
||||
1647 | With -k/--keep, the patch files are preserved in the patch |
|
|||
1648 | directory. |
|
|||
1649 |
|
1646 | |||
1650 | To stop managing a patch and move it into permanent history, |
|
1647 | To stop managing a patch and move it into permanent history, | |
1651 | use the qfinish command.""" |
|
1648 | use the qfinish command.""" | |
@@ -2624,5 +2621,5 b' cmdtable = {' | |||||
2624 | "qfinish": |
|
2621 | "qfinish": | |
2625 | (finish, |
|
2622 | (finish, | |
2626 | [('a', 'applied', None, _('finish all applied changesets'))], |
|
2623 | [('a', 'applied', None, _('finish all applied changesets'))], | |
2627 |
_('hg qfinish [-a] [REV... |
|
2624 | _('hg qfinish [-a] [REV]...')), | |
2628 | } |
|
2625 | } |
@@ -5,7 +5,7 b'' | |||||
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
7 |
|
7 | |||
8 |
'''send e |
|
8 | '''hooks for sending email notifications at commit/push time | |
9 |
|
9 | |||
10 | Subscriptions can be managed through hgrc. Default mode is to print |
|
10 | Subscriptions can be managed through hgrc. Default mode is to print | |
11 | messages to stdout, for testing and configuring. |
|
11 | messages to stdout, for testing and configuring. |
@@ -5,7 +5,7 b'' | |||||
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
7 |
|
7 | |||
8 |
''' |
|
8 | '''command to send changesets as (a series of) patch emails | |
9 |
|
9 | |||
10 | The series is started off with a "[PATCH 0 of N]" introduction, which |
|
10 | The series is started off with a "[PATCH 0 of N]" introduction, which | |
11 | describes the series as a whole. |
|
11 | describes the series as a whole. |
@@ -1,6 +1,6 b'' | |||||
1 | # Copyright (C) 2006 - Marco Barisione <marco@barisione.org> |
|
1 | # Copyright (C) 2006 - Marco Barisione <marco@barisione.org> | |
2 | # |
|
2 | # | |
3 |
# This is a small extension for Mercurial (http:// |
|
3 | # This is a small extension for Mercurial (http://mercurial.selenic.com/) | |
4 | # that removes files not known to mercurial |
|
4 | # that removes files not known to mercurial | |
5 | # |
|
5 | # | |
6 | # This program was inspired by the "cvspurge" script contained in CVS utilities |
|
6 | # This program was inspired by the "cvspurge" script contained in CVS utilities | |
@@ -23,7 +23,7 b'' | |||||
23 | # along with this program; if not, write to the Free Software |
|
23 | # along with this program; if not, write to the Free Software | |
24 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
24 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
25 |
|
25 | |||
26 |
'''delete |
|
26 | '''command to delete untracked files from the working directory''' | |
27 |
|
27 | |||
28 | from mercurial import util, commands, cmdutil |
|
28 | from mercurial import util, commands, cmdutil | |
29 | from mercurial.i18n import _ |
|
29 | from mercurial.i18n import _ |
@@ -5,13 +5,13 b'' | |||||
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
7 |
|
7 | |||
8 | '''move sets of revisions to a different ancestor |
|
8 | '''command to move sets of revisions to a different ancestor | |
9 |
|
9 | |||
10 | This extension lets you rebase changesets in an existing Mercurial |
|
10 | This extension lets you rebase changesets in an existing Mercurial | |
11 | repository. |
|
11 | repository. | |
12 |
|
12 | |||
13 | For more information: |
|
13 | For more information: | |
14 |
http:// |
|
14 | http://mercurial.selenic.com/wiki/RebaseProject | |
15 | ''' |
|
15 | ''' | |
16 |
|
16 | |||
17 | from mercurial import util, repair, merge, cmdutil, commands, error |
|
17 | from mercurial import util, repair, merge, cmdutil, commands, error |
@@ -5,7 +5,7 b'' | |||||
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
7 |
|
7 | |||
8 |
'''interactively select |
|
8 | '''commands to interactively select changes for commit/qrefresh''' | |
9 |
|
9 | |||
10 | from mercurial.i18n import gettext, _ |
|
10 | from mercurial.i18n import gettext, _ | |
11 | from mercurial import cmdutil, commands, extensions, hg, mdiff, patch |
|
11 | from mercurial import cmdutil, commands, extensions, hg, mdiff, patch |
@@ -5,7 +5,7 b'' | |||||
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
7 |
|
7 | |||
8 | '''transplant changesets from another branch |
|
8 | '''command to transplant changesets from another branch | |
9 |
|
9 | |||
10 | This extension allows you to transplant patches from another branch. |
|
10 | This extension allows you to transplant patches from another branch. | |
11 |
|
11 |
@@ -9,7 +9,7 b'' | |||||
9 | # GNU General Public License version 2, incorporated herein by reference. |
|
9 | # GNU General Public License version 2, incorporated herein by reference. | |
10 | # |
|
10 | # | |
11 |
|
11 | |||
12 | '''allow the use of MBCS paths with problematic encoding |
|
12 | '''allow the use of MBCS paths with problematic encodings | |
13 |
|
13 | |||
14 | Some MBCS encodings are not good for some path operations (i.e. |
|
14 | Some MBCS encodings are not good for some path operations (i.e. | |
15 | splitting path, case conversion, etc.) with its encoded bytes. We call |
|
15 | splitting path, case conversion, etc.) with its encoded bytes. We call |
@@ -48,7 +48,7 b' def checknewline(s, newline, ui=None, re' | |||||
48 | # warn if already has 'newline' in repository. |
|
48 | # warn if already has 'newline' in repository. | |
49 | # it might cause unexpected eol conversion. |
|
49 | # it might cause unexpected eol conversion. | |
50 | # see issue 302: |
|
50 | # see issue 302: | |
51 |
# http:// |
|
51 | # http://mercurial.selenic.com/bts/issue302 | |
52 | if newline in s and ui and filename and repo: |
|
52 | if newline in s and ui and filename and repo: | |
53 | ui.warn(_('WARNING: %s already has %s line endings\n' |
|
53 | ui.warn(_('WARNING: %s already has %s line endings\n' | |
54 | 'and does not need EOL conversion by the win32text plugin.\n' |
|
54 | 'and does not need EOL conversion by the win32text plugin.\n' |
@@ -323,12 +323,10 b' def addremove(repo, pats=[], opts={}, dr' | |||||
323 | repo.add(add) |
|
323 | repo.add(add) | |
324 | if similarity > 0: |
|
324 | if similarity > 0: | |
325 | for old, new, score in findrenames(repo, m, similarity): |
|
325 | for old, new, score in findrenames(repo, m, similarity): | |
326 |
|
|
326 | if repo.ui.verbose or not m.exact(old) or not m.exact(new): | |
327 | if repo.ui.verbose or not oldexact or not newexact: |
|
|||
328 | oldrel, newrel = m.rel(old), m.rel(new) |
|
|||
329 | repo.ui.status(_('recording removal of %s as rename to %s ' |
|
327 | repo.ui.status(_('recording removal of %s as rename to %s ' | |
330 | '(%d%% similar)\n') % |
|
328 | '(%d%% similar)\n') % | |
331 |
( |
|
329 | (m.rel(old), m.rel(new), score * 100)) | |
332 | if not dry_run: |
|
330 | if not dry_run: | |
333 | repo.copy(old, new) |
|
331 | repo.copy(old, new) | |
334 |
|
332 |
@@ -8,7 +8,7 b'' | |||||
8 | from node import hex, nullid, nullrev, short |
|
8 | from node import hex, nullid, nullrev, short | |
9 | from lock import release |
|
9 | from lock import release | |
10 | from i18n import _, gettext |
|
10 | from i18n import _, gettext | |
11 |
import os, re, sys, |
|
11 | import os, re, sys, subprocess, difflib, time | |
12 | import hg, util, revlog, bundlerepo, extensions, copies, context, error |
|
12 | import hg, util, revlog, bundlerepo, extensions, copies, context, error | |
13 | import patch, help, mdiff, tempfile, url, encoding |
|
13 | import patch, help, mdiff, tempfile, url, encoding | |
14 | import archival, changegroup, cmdutil, sshserver, hbisect |
|
14 | import archival, changegroup, cmdutil, sshserver, hbisect | |
@@ -440,7 +440,7 b' def branches(ui, repo, active=False):' | |||||
440 | """list repository named branches |
|
440 | """list repository named branches | |
441 |
|
441 | |||
442 | List the repository's named branches, indicating which ones are |
|
442 | List the repository's named branches, indicating which ones are | |
443 | inactive. If active is specified, only show active branches. |
|
443 | inactive. If -a/--active is specified, only show active branches. | |
444 |
|
444 | |||
445 | A branch is considered active if it contains repository heads. |
|
445 | A branch is considered active if it contains repository heads. | |
446 |
|
446 | |||
@@ -484,8 +484,8 b' def bundle(ui, repo, fname, dest=None, *' | |||||
484 | parameters. To create a bundle containing all changesets, use |
|
484 | parameters. To create a bundle containing all changesets, use | |
485 | -a/--all (or --base null). |
|
485 | -a/--all (or --base null). | |
486 |
|
486 | |||
487 |
|
|
487 | You can change compression method with the -t/--type option. | |
488 |
|
|
488 | The available compression methods are: none, bzip2, and | |
489 | gzip (by default, bundles are compressed using bzip2). |
|
489 | gzip (by default, bundles are compressed using bzip2). | |
490 |
|
490 | |||
491 | The bundle file can then be transferred using conventional means |
|
491 | The bundle file can then be transferred using conventional means | |
@@ -987,7 +987,7 b' def debuginstall(ui):' | |||||
987 | " or misconfigured. Please check your .hgrc file)\n")) |
|
987 | " or misconfigured. Please check your .hgrc file)\n")) | |
988 | else: |
|
988 | else: | |
989 | ui.write(_(" Internal patcher failure, please report this error" |
|
989 | ui.write(_(" Internal patcher failure, please report this error" | |
990 |
" to http:// |
|
990 | " to http://mercurial.selenic.com/bts/\n")) | |
991 | problems += patchproblems |
|
991 | problems += patchproblems | |
992 |
|
992 | |||
993 | os.unlink(fa) |
|
993 | os.unlink(fa) | |
@@ -1368,7 +1368,7 b' def heads(ui, repo, *branchrevs, **opts)' | |||||
1368 | branch is called the revision's branch tag. |
|
1368 | branch is called the revision's branch tag. | |
1369 |
|
1369 | |||
1370 | Branch heads are revisions on a given named branch that do not have |
|
1370 | Branch heads are revisions on a given named branch that do not have | |
1371 |
any |
|
1371 | any descendants on the same branch. A branch head could be a true head | |
1372 | or it could be the last changeset on a branch before a new branch |
|
1372 | or it could be the last changeset on a branch before a new branch | |
1373 | was created. If none of the branch heads are true heads, the branch |
|
1373 | was created. If none of the branch heads are true heads, the branch | |
1374 | is considered inactive. |
|
1374 | is considered inactive. | |
@@ -1514,7 +1514,7 b' def help_(ui, name=None, with_version=Fa' | |||||
1514 | commands = cmds[f].replace("|",", ") |
|
1514 | commands = cmds[f].replace("|",", ") | |
1515 | ui.write(" %s:\n %s\n"%(commands, h[f])) |
|
1515 | ui.write(" %s:\n %s\n"%(commands, h[f])) | |
1516 | else: |
|
1516 | else: | |
1517 | ui.write(' %-*s %s\n' % (m, f, h[f])) |
|
1517 | ui.write(' %-*s %s\n' % (m, f, util.wrap(h[f], m + 4))) | |
1518 |
|
1518 | |||
1519 | if name != 'shortlist': |
|
1519 | if name != 'shortlist': | |
1520 | exts, maxlength = extensions.enabled() |
|
1520 | exts, maxlength = extensions.enabled() | |
@@ -1617,11 +1617,8 b' def help_(ui, name=None, with_version=Fa' | |||||
1617 | opts_len = max([len(line[0]) for line in opt_output if line[1]] or [0]) |
|
1617 | opts_len = max([len(line[0]) for line in opt_output if line[1]] or [0]) | |
1618 | for first, second in opt_output: |
|
1618 | for first, second in opt_output: | |
1619 | if second: |
|
1619 | if second: | |
1620 | # wrap descriptions at 70 characters, just like the |
|
1620 | second = util.wrap(second, opts_len + 3) | |
1621 | # main help texts |
|
1621 | ui.write(" %-*s %s\n" % (opts_len, first, second)) | |
1622 | second = textwrap.wrap(second, width=70 - opts_len - 3) |
|
|||
1623 | pad = '\n' + ' ' * (opts_len + 3) |
|
|||
1624 | ui.write(" %-*s %s\n" % (opts_len, first, pad.join(second))) |
|
|||
1625 | else: |
|
1622 | else: | |
1626 | ui.write("%s\n" % first) |
|
1623 | ui.write("%s\n" % first) | |
1627 |
|
1624 | |||
@@ -1729,7 +1726,8 b' def import_(ui, repo, patch1, *patches, ' | |||||
1729 | With -s/--similarity, hg will attempt to discover renames and |
|
1726 | With -s/--similarity, hg will attempt to discover renames and | |
1730 | copies in the patch in the same way as 'addremove'. |
|
1727 | copies in the patch in the same way as 'addremove'. | |
1731 |
|
1728 | |||
1732 | To read a patch from standard input, use "-" as the patch name. |
|
1729 | To read a patch from standard input, use "-" as the patch name. If | |
|
1730 | a URL is specified, the patch will be downloaded from it. | |||
1733 | See 'hg help dates' for a list of formats valid for -d/--date. |
|
1731 | See 'hg help dates' for a list of formats valid for -d/--date. | |
1734 | """ |
|
1732 | """ | |
1735 | patches = (patch1,) + patches |
|
1733 | patches = (patch1,) + patches |
@@ -143,7 +143,7 b' def _runcatch(ui, args):' | |||||
143 | except: |
|
143 | except: | |
144 | ui.warn(_("** unknown exception encountered, details follow\n")) |
|
144 | ui.warn(_("** unknown exception encountered, details follow\n")) | |
145 | ui.warn(_("** report bug details to " |
|
145 | ui.warn(_("** report bug details to " | |
146 |
"http:// |
|
146 | "http://mercurial.selenic.com/bts/\n")) | |
147 | ui.warn(_("** or mercurial@selenic.com\n")) |
|
147 | ui.warn(_("** or mercurial@selenic.com\n")) | |
148 | ui.warn(_("** Mercurial Distributed SCM (version %s)\n") |
|
148 | ui.warn(_("** Mercurial Distributed SCM (version %s)\n") | |
149 | % util.version()) |
|
149 | % util.version()) |
@@ -125,9 +125,14 b' def disabled():' | |||||
125 | import hgext |
|
125 | import hgext | |
126 | extpath = os.path.dirname(os.path.abspath(hgext.__file__)) |
|
126 | extpath = os.path.dirname(os.path.abspath(hgext.__file__)) | |
127 |
|
127 | |||
|
128 | try: # might not be a filesystem path | |||
|
129 | files = os.listdir(extpath) | |||
|
130 | except OSError: | |||
|
131 | return None, 0 | |||
|
132 | ||||
128 | exts = {} |
|
133 | exts = {} | |
129 | maxlength = 0 |
|
134 | maxlength = 0 | |
130 | for e in os.listdir(extpath): |
|
135 | for e in files: | |
131 |
|
136 | |||
132 | if e.endswith('.py'): |
|
137 | if e.endswith('.py'): | |
133 | name = e.rsplit('.', 1)[0] |
|
138 | name = e.rsplit('.', 1)[0] |
@@ -5,9 +5,8 b'' | |||||
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
7 |
|
7 | |||
8 | import textwrap |
|
|||
9 | from i18n import _ |
|
8 | from i18n import _ | |
10 | import extensions |
|
9 | import extensions, util | |
11 |
|
10 | |||
12 |
|
11 | |||
13 | def moduledoc(file): |
|
12 | def moduledoc(file): | |
@@ -46,11 +45,8 b' def listexts(header, exts, maxlength):' | |||||
46 | return '' |
|
45 | return '' | |
47 | result = '\n%s\n\n' % header |
|
46 | result = '\n%s\n\n' % header | |
48 | for name, desc in sorted(exts.iteritems()): |
|
47 | for name, desc in sorted(exts.iteritems()): | |
49 | # wrap desc at 70 characters, just like the main help texts |
|
48 | desc = util.wrap(desc, maxlength + 4) | |
50 | desc = textwrap.wrap(desc, width=70 - maxlength - 4) |
|
49 | result += ' %s %s\n' % (name.ljust(maxlength), desc) | |
51 | pad = '\n' + ' ' * (maxlength + 4) |
|
|||
52 | result += ' %s %s\n' % (name.ljust(maxlength), |
|
|||
53 | pad.join(desc)) |
|
|||
54 | return result |
|
50 | return result | |
55 |
|
51 | |||
56 | def extshelp(): |
|
52 | def extshelp(): |
@@ -454,15 +454,30 b' class localrepository(repo.repository):' | |||||
454 | pass |
|
454 | pass | |
455 |
|
455 | |||
456 | def _updatebranchcache(self, partial, start, end): |
|
456 | def _updatebranchcache(self, partial, start, end): | |
|
457 | # collect new branch entries | |||
|
458 | newbranches = {} | |||
457 | for r in xrange(start, end): |
|
459 | for r in xrange(start, end): | |
458 | c = self[r] |
|
460 | c = self[r] | |
459 | b = c.branch() |
|
461 | newbranches.setdefault(c.branch(), []).append(c.node()) | |
460 | bheads = partial.setdefault(b, []) |
|
462 | # if older branchheads are reachable from new ones, they aren't | |
461 | bheads.append(c.node()) |
|
463 | # really branchheads. Note checking parents is insufficient: | |
462 | for p in c.parents(): |
|
464 | # 1 (branch a) -> 2 (branch b) -> 3 (branch a) | |
463 | pn = p.node() |
|
465 | for branch, newnodes in newbranches.iteritems(): | |
464 | if pn in bheads: |
|
466 | bheads = partial.setdefault(branch, []) | |
465 |
|
|
467 | bheads.extend(newnodes) | |
|
468 | if len(bheads) < 2: | |||
|
469 | continue | |||
|
470 | newbheads = [] | |||
|
471 | # starting from tip means fewer passes over reachable | |||
|
472 | while newnodes: | |||
|
473 | latest = newnodes.pop() | |||
|
474 | if latest not in bheads: | |||
|
475 | continue | |||
|
476 | reachable = self.changelog.reachable(latest, bheads[0]) | |||
|
477 | bheads = [b for b in bheads if b not in reachable] | |||
|
478 | newbheads.insert(0, latest) | |||
|
479 | bheads.extend(newbheads) | |||
|
480 | partial[branch] = bheads | |||
466 |
|
481 | |||
467 | def lookup(self, key): |
|
482 | def lookup(self, key): | |
468 | if isinstance(key, int): |
|
483 | if isinstance(key, int): |
@@ -277,7 +277,7 b' class ui(object):' | |||||
277 | insensitive. If ui is not interactive, the default is returned. |
|
277 | insensitive. If ui is not interactive, the default is returned. | |
278 | """ |
|
278 | """ | |
279 | if not self.interactive(): |
|
279 | if not self.interactive(): | |
280 |
self. |
|
280 | self.write(msg, ' ', default, "\n") | |
281 | return default |
|
281 | return default | |
282 | while True: |
|
282 | while True: | |
283 | try: |
|
283 | try: |
@@ -16,7 +16,7 b' hide platform-specific details from the ' | |||||
16 | from i18n import _ |
|
16 | from i18n import _ | |
17 | import error, osutil |
|
17 | import error, osutil | |
18 | import cStringIO, errno, re, shutil, sys, tempfile, traceback |
|
18 | import cStringIO, errno, re, shutil, sys, tempfile, traceback | |
19 | import os, stat, time, calendar, random |
|
19 | import os, stat, time, calendar, random, textwrap | |
20 | import imp |
|
20 | import imp | |
21 |
|
21 | |||
22 | # Python compatibility |
|
22 | # Python compatibility | |
@@ -1242,6 +1242,10 b' def termwidth():' | |||||
1242 | pass |
|
1242 | pass | |
1243 | return 80 |
|
1243 | return 80 | |
1244 |
|
1244 | |||
|
1245 | def wrap(line, hangindent, width=78): | |||
|
1246 | padding = '\n' + ' ' * hangindent | |||
|
1247 | return padding.join(textwrap.wrap(line, width=width - hangindent)) | |||
|
1248 | ||||
1245 | def iterlines(iterator): |
|
1249 | def iterlines(iterator): | |
1246 | for chunk in iterator: |
|
1250 | for chunk in iterator: | |
1247 | for line in chunk.splitlines(): |
|
1251 | for line in chunk.splitlines(): |
@@ -20,139 +20,6 b' import winerror' | |||||
20 | import osutil, encoding |
|
20 | import osutil, encoding | |
21 | from win32com.shell import shell,shellcon |
|
21 | from win32com.shell import shell,shellcon | |
22 |
|
22 | |||
23 | class WinError(Exception): |
|
|||
24 | winerror_map = { |
|
|||
25 | winerror.ERROR_ACCESS_DENIED: errno.EACCES, |
|
|||
26 | winerror.ERROR_ACCOUNT_DISABLED: errno.EACCES, |
|
|||
27 | winerror.ERROR_ACCOUNT_RESTRICTION: errno.EACCES, |
|
|||
28 | winerror.ERROR_ALREADY_ASSIGNED: errno.EBUSY, |
|
|||
29 | winerror.ERROR_ALREADY_EXISTS: errno.EEXIST, |
|
|||
30 | winerror.ERROR_ARITHMETIC_OVERFLOW: errno.ERANGE, |
|
|||
31 | winerror.ERROR_BAD_COMMAND: errno.EIO, |
|
|||
32 | winerror.ERROR_BAD_DEVICE: errno.ENODEV, |
|
|||
33 | winerror.ERROR_BAD_DRIVER_LEVEL: errno.ENXIO, |
|
|||
34 | winerror.ERROR_BAD_EXE_FORMAT: errno.ENOEXEC, |
|
|||
35 | winerror.ERROR_BAD_FORMAT: errno.ENOEXEC, |
|
|||
36 | winerror.ERROR_BAD_LENGTH: errno.EINVAL, |
|
|||
37 | winerror.ERROR_BAD_PATHNAME: errno.ENOENT, |
|
|||
38 | winerror.ERROR_BAD_PIPE: errno.EPIPE, |
|
|||
39 | winerror.ERROR_BAD_UNIT: errno.ENODEV, |
|
|||
40 | winerror.ERROR_BAD_USERNAME: errno.EINVAL, |
|
|||
41 | winerror.ERROR_BROKEN_PIPE: errno.EPIPE, |
|
|||
42 | winerror.ERROR_BUFFER_OVERFLOW: errno.ENAMETOOLONG, |
|
|||
43 | winerror.ERROR_BUSY: errno.EBUSY, |
|
|||
44 | winerror.ERROR_BUSY_DRIVE: errno.EBUSY, |
|
|||
45 | winerror.ERROR_CALL_NOT_IMPLEMENTED: errno.ENOSYS, |
|
|||
46 | winerror.ERROR_CANNOT_MAKE: errno.EACCES, |
|
|||
47 | winerror.ERROR_CANTOPEN: errno.EIO, |
|
|||
48 | winerror.ERROR_CANTREAD: errno.EIO, |
|
|||
49 | winerror.ERROR_CANTWRITE: errno.EIO, |
|
|||
50 | winerror.ERROR_CRC: errno.EIO, |
|
|||
51 | winerror.ERROR_CURRENT_DIRECTORY: errno.EACCES, |
|
|||
52 | winerror.ERROR_DEVICE_IN_USE: errno.EBUSY, |
|
|||
53 | winerror.ERROR_DEV_NOT_EXIST: errno.ENODEV, |
|
|||
54 | winerror.ERROR_DIRECTORY: errno.EINVAL, |
|
|||
55 | winerror.ERROR_DIR_NOT_EMPTY: errno.ENOTEMPTY, |
|
|||
56 | winerror.ERROR_DISK_CHANGE: errno.EIO, |
|
|||
57 | winerror.ERROR_DISK_FULL: errno.ENOSPC, |
|
|||
58 | winerror.ERROR_DRIVE_LOCKED: errno.EBUSY, |
|
|||
59 | winerror.ERROR_ENVVAR_NOT_FOUND: errno.EINVAL, |
|
|||
60 | winerror.ERROR_EXE_MARKED_INVALID: errno.ENOEXEC, |
|
|||
61 | winerror.ERROR_FILENAME_EXCED_RANGE: errno.ENAMETOOLONG, |
|
|||
62 | winerror.ERROR_FILE_EXISTS: errno.EEXIST, |
|
|||
63 | winerror.ERROR_FILE_INVALID: errno.ENODEV, |
|
|||
64 | winerror.ERROR_FILE_NOT_FOUND: errno.ENOENT, |
|
|||
65 | winerror.ERROR_GEN_FAILURE: errno.EIO, |
|
|||
66 | winerror.ERROR_HANDLE_DISK_FULL: errno.ENOSPC, |
|
|||
67 | winerror.ERROR_INSUFFICIENT_BUFFER: errno.ENOMEM, |
|
|||
68 | winerror.ERROR_INVALID_ACCESS: errno.EACCES, |
|
|||
69 | winerror.ERROR_INVALID_ADDRESS: errno.EFAULT, |
|
|||
70 | winerror.ERROR_INVALID_BLOCK: errno.EFAULT, |
|
|||
71 | winerror.ERROR_INVALID_DATA: errno.EINVAL, |
|
|||
72 | winerror.ERROR_INVALID_DRIVE: errno.ENODEV, |
|
|||
73 | winerror.ERROR_INVALID_EXE_SIGNATURE: errno.ENOEXEC, |
|
|||
74 | winerror.ERROR_INVALID_FLAGS: errno.EINVAL, |
|
|||
75 | winerror.ERROR_INVALID_FUNCTION: errno.ENOSYS, |
|
|||
76 | winerror.ERROR_INVALID_HANDLE: errno.EBADF, |
|
|||
77 | winerror.ERROR_INVALID_LOGON_HOURS: errno.EACCES, |
|
|||
78 | winerror.ERROR_INVALID_NAME: errno.EINVAL, |
|
|||
79 | winerror.ERROR_INVALID_OWNER: errno.EINVAL, |
|
|||
80 | winerror.ERROR_INVALID_PARAMETER: errno.EINVAL, |
|
|||
81 | winerror.ERROR_INVALID_PASSWORD: errno.EPERM, |
|
|||
82 | winerror.ERROR_INVALID_PRIMARY_GROUP: errno.EINVAL, |
|
|||
83 | winerror.ERROR_INVALID_SIGNAL_NUMBER: errno.EINVAL, |
|
|||
84 | winerror.ERROR_INVALID_TARGET_HANDLE: errno.EIO, |
|
|||
85 | winerror.ERROR_INVALID_WORKSTATION: errno.EACCES, |
|
|||
86 | winerror.ERROR_IO_DEVICE: errno.EIO, |
|
|||
87 | winerror.ERROR_IO_INCOMPLETE: errno.EINTR, |
|
|||
88 | winerror.ERROR_LOCKED: errno.EBUSY, |
|
|||
89 | winerror.ERROR_LOCK_VIOLATION: errno.EACCES, |
|
|||
90 | winerror.ERROR_LOGON_FAILURE: errno.EACCES, |
|
|||
91 | winerror.ERROR_MAPPED_ALIGNMENT: errno.EINVAL, |
|
|||
92 | winerror.ERROR_META_EXPANSION_TOO_LONG: errno.E2BIG, |
|
|||
93 | winerror.ERROR_MORE_DATA: errno.EPIPE, |
|
|||
94 | winerror.ERROR_NEGATIVE_SEEK: errno.ESPIPE, |
|
|||
95 | winerror.ERROR_NOACCESS: errno.EFAULT, |
|
|||
96 | winerror.ERROR_NONE_MAPPED: errno.EINVAL, |
|
|||
97 | winerror.ERROR_NOT_ENOUGH_MEMORY: errno.ENOMEM, |
|
|||
98 | winerror.ERROR_NOT_READY: errno.EAGAIN, |
|
|||
99 | winerror.ERROR_NOT_SAME_DEVICE: errno.EXDEV, |
|
|||
100 | winerror.ERROR_NO_DATA: errno.EPIPE, |
|
|||
101 | winerror.ERROR_NO_MORE_SEARCH_HANDLES: errno.EIO, |
|
|||
102 | winerror.ERROR_NO_PROC_SLOTS: errno.EAGAIN, |
|
|||
103 | winerror.ERROR_NO_SUCH_PRIVILEGE: errno.EACCES, |
|
|||
104 | winerror.ERROR_OPEN_FAILED: errno.EIO, |
|
|||
105 | winerror.ERROR_OPEN_FILES: errno.EBUSY, |
|
|||
106 | winerror.ERROR_OPERATION_ABORTED: errno.EINTR, |
|
|||
107 | winerror.ERROR_OUTOFMEMORY: errno.ENOMEM, |
|
|||
108 | winerror.ERROR_PASSWORD_EXPIRED: errno.EACCES, |
|
|||
109 | winerror.ERROR_PATH_BUSY: errno.EBUSY, |
|
|||
110 | winerror.ERROR_PATH_NOT_FOUND: errno.ENOENT, |
|
|||
111 | winerror.ERROR_PIPE_BUSY: errno.EBUSY, |
|
|||
112 | winerror.ERROR_PIPE_CONNECTED: errno.EPIPE, |
|
|||
113 | winerror.ERROR_PIPE_LISTENING: errno.EPIPE, |
|
|||
114 | winerror.ERROR_PIPE_NOT_CONNECTED: errno.EPIPE, |
|
|||
115 | winerror.ERROR_PRIVILEGE_NOT_HELD: errno.EACCES, |
|
|||
116 | winerror.ERROR_READ_FAULT: errno.EIO, |
|
|||
117 | winerror.ERROR_SEEK: errno.EIO, |
|
|||
118 | winerror.ERROR_SEEK_ON_DEVICE: errno.ESPIPE, |
|
|||
119 | winerror.ERROR_SHARING_BUFFER_EXCEEDED: errno.ENFILE, |
|
|||
120 | winerror.ERROR_SHARING_VIOLATION: errno.EACCES, |
|
|||
121 | winerror.ERROR_STACK_OVERFLOW: errno.ENOMEM, |
|
|||
122 | winerror.ERROR_SWAPERROR: errno.ENOENT, |
|
|||
123 | winerror.ERROR_TOO_MANY_MODULES: errno.EMFILE, |
|
|||
124 | winerror.ERROR_TOO_MANY_OPEN_FILES: errno.EMFILE, |
|
|||
125 | winerror.ERROR_UNRECOGNIZED_MEDIA: errno.ENXIO, |
|
|||
126 | winerror.ERROR_UNRECOGNIZED_VOLUME: errno.ENODEV, |
|
|||
127 | winerror.ERROR_WAIT_NO_CHILDREN: errno.ECHILD, |
|
|||
128 | winerror.ERROR_WRITE_FAULT: errno.EIO, |
|
|||
129 | winerror.ERROR_WRITE_PROTECT: errno.EROFS, |
|
|||
130 | } |
|
|||
131 |
|
||||
132 | def __init__(self, err): |
|
|||
133 | try: |
|
|||
134 | # unpack a pywintypes.error tuple |
|
|||
135 | self.win_errno, self.win_function, self.win_strerror = err |
|
|||
136 | except ValueError: |
|
|||
137 | # get attributes from a WindowsError |
|
|||
138 | self.win_errno = err.winerror |
|
|||
139 | self.win_function = None |
|
|||
140 | self.win_strerror = err.strerror |
|
|||
141 | self.win_strerror = self.win_strerror.rstrip('.') |
|
|||
142 |
|
||||
143 | class WinIOError(WinError, IOError): |
|
|||
144 | def __init__(self, err, filename=None): |
|
|||
145 | WinError.__init__(self, err) |
|
|||
146 | IOError.__init__(self, self.winerror_map.get(self.win_errno, 0), |
|
|||
147 | self.win_strerror) |
|
|||
148 | self.filename = filename |
|
|||
149 |
|
||||
150 | class WinOSError(WinError, OSError): |
|
|||
151 | def __init__(self, err): |
|
|||
152 | WinError.__init__(self, err) |
|
|||
153 | OSError.__init__(self, self.winerror_map.get(self.win_errno, 0), |
|
|||
154 | self.win_strerror) |
|
|||
155 |
|
||||
156 | def os_link(src, dst): |
|
23 | def os_link(src, dst): | |
157 | try: |
|
24 | try: | |
158 | win32file.CreateHardLink(dst, src) |
|
25 | win32file.CreateHardLink(dst, src) | |
@@ -164,12 +31,11 b' def os_link(src, dst):' | |||||
164 | except: |
|
31 | except: | |
165 | pass |
|
32 | pass | |
166 | # Fake hardlinking error |
|
33 | # Fake hardlinking error | |
167 |
raise |
|
34 | raise OSError(errno.EINVAL, 'Hardlinking not supported') | |
168 | 'move the file to a different disk drive')) |
|
|||
169 | except pywintypes.error, details: |
|
35 | except pywintypes.error, details: | |
170 | raise WinOSError(details) |
|
36 | raise OSError(errno.EINVAL, 'target implements hardlinks improperly') | |
171 | except NotImplementedError: # Another fake error win Win98 |
|
37 | except NotImplementedError: # Another fake error win Win98 | |
172 |
raise |
|
38 | raise OSError(errno.EINVAL, 'Hardlinking not supported') | |
173 |
|
39 | |||
174 | def nlinks(pathname): |
|
40 | def nlinks(pathname): | |
175 | """Return number of hardlinks for the given file.""" |
|
41 | """Return number of hardlinks for the given file.""" |
@@ -17,7 +17,7 b" def posixfile(name, mode='r', buffering=" | |||||
17 | try: |
|
17 | try: | |
18 | return osutil.posixfile(name, mode, buffering) |
|
18 | return osutil.posixfile(name, mode, buffering) | |
19 | except WindowsError, err: |
|
19 | except WindowsError, err: | |
20 |
raise |
|
20 | raise IOError(err.errno, err.strerror) | |
21 | posixfile.__doc__ = osutil.posixfile.__doc__ |
|
21 | posixfile.__doc__ = osutil.posixfile.__doc__ | |
22 |
|
22 | |||
23 | class winstdout(object): |
|
23 | class winstdout(object): |
@@ -255,7 +255,7 b" setup(name='mercurial'," | |||||
255 | version=version, |
|
255 | version=version, | |
256 | author='Matt Mackall', |
|
256 | author='Matt Mackall', | |
257 | author_email='mpm@selenic.com', |
|
257 | author_email='mpm@selenic.com', | |
258 |
url='http://selenic.com/ |
|
258 | url='http://mercurial.selenic.com/', | |
259 | description='Scalable distributed SCM', |
|
259 | description='Scalable distributed SCM', | |
260 | license='GNU GPL', |
|
260 | license='GNU GPL', | |
261 | scripts=scripts, |
|
261 | scripts=scripts, |
@@ -7,7 +7,7 b'' | |||||
7 | <updated>1970-01-01T00:00:00+00:00</updated> |
|
7 | <updated>1970-01-01T00:00:00+00:00</updated> | |
8 | <entry> |
|
8 | <entry> | |
9 | <title>Error</title> |
|
9 | <title>Error</title> | |
10 |
<id>http:// |
|
10 | <id>http://mercurial.selenic.com/#error</id> | |
11 | <author> |
|
11 | <author> | |
12 | <name>mercurial</name> |
|
12 | <name>mercurial</name> | |
13 | </author> |
|
13 | </author> |
@@ -1,6 +1,6 b'' | |||||
1 | {header} |
|
1 | {header} | |
2 | <id>{urlbase}{url}atom-log/tip/{file|escape}</id> |
|
2 | <id>{urlbase}{url}atom-log/tip/{file|escape}</id> | |
3 | <link rel="self" href="{urlbase}{url}atom-log/tip/{file|escape}"/> |
|
3 | <link rel="self" href="{urlbase}{url}atom-log/tip/{file|urlescape}"/> | |
4 | <title>{repo|escape}: {file|escape} history</title> |
|
4 | <title>{repo|escape}: {file|escape} history</title> | |
5 | {latestentry%feedupdated} |
|
5 | {latestentry%feedupdated} | |
6 |
|
6 |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / branches | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <div class="page_nav"> |
|
14 | <div class="page_nav"> |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / changelog | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <form action="{url}log"> |
|
14 | <form action="{url}log"> |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / changeset | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <div class="page_nav"> |
|
14 | <div class="page_nav"> |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / error | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <div class="page_nav"> |
|
14 | <div class="page_nav"> |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / annotate | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <div class="page_nav"> |
|
14 | <div class="page_nav"> |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / diff | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <div class="page_nav"> |
|
14 | <div class="page_nav"> |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / file revisions | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <div class="page_nav"> |
|
14 | <div class="page_nav"> |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / file revision | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <div class="page_nav"> |
|
14 | <div class="page_nav"> |
@@ -9,7 +9,7 b'' | |||||
9 | <body> |
|
9 | <body> | |
10 |
|
10 | |||
11 | <div class="page_header"> |
|
11 | <div class="page_header"> | |
12 |
<a href="http:// |
|
12 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / graph | |
13 | </div> |
|
13 | </div> | |
14 |
|
14 | |||
15 | <form action="{url}log"> |
|
15 | <form action="{url}log"> |
@@ -4,7 +4,7 b'' | |||||
4 | <body> |
|
4 | <body> | |
5 |
|
5 | |||
6 | <div class="page_header"> |
|
6 | <div class="page_header"> | |
7 |
<a href="http:// |
|
7 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a> | |
8 | Repositories list |
|
8 | Repositories list | |
9 | </div> |
|
9 | </div> | |
10 |
|
10 |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / files | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <div class="page_nav"> |
|
14 | <div class="page_nav"> |
@@ -5,7 +5,7 b'' | |||||
5 | <body> |
|
5 | <body> | |
6 |
|
6 | |||
7 | <div class="page_header"> |
|
7 | <div class="page_header"> | |
8 |
<a href="http:// |
|
8 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a> Not found: {repo|escape} | |
9 | </div> |
|
9 | </div> | |
10 |
|
10 | |||
11 | <div class="page_body"> |
|
11 | <div class="page_body"> |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / search | |
12 |
|
12 | |||
13 | <form action="{url}log"> |
|
13 | <form action="{url}log"> | |
14 | {sessionvars%hiddenformentry} |
|
14 | {sessionvars%hiddenformentry} |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / shortlog | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <form action="{url}log"> |
|
14 | <form action="{url}log"> |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / summary | |
12 |
|
12 | |||
13 | <form action="{url}log"> |
|
13 | <form action="{url}log"> | |
14 | {sessionvars%hiddenformentry} |
|
14 | {sessionvars%hiddenformentry} |
@@ -8,7 +8,7 b'' | |||||
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 |
<a href="http:// |
|
11 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / tags | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <div class="page_nav"> |
|
14 | <div class="page_nav"> |
@@ -8,7 +8,7 b'' | |||||
8 | </div> |
|
8 | </div> | |
9 |
|
9 | |||
10 | <div id="powered-by"> |
|
10 | <div id="powered-by"> | |
11 |
<p><a href="http:// |
|
11 | <p><a href="http://mercurial.selenic.com/" title="Mercurial"><img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a></p> | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <div id="corner-top-left"></div> |
|
14 | <div id="corner-top-left"></div> |
@@ -26,7 +26,7 b'' | |||||
26 | </div> |
|
26 | </div> | |
27 |
|
27 | |||
28 | <div id="powered-by"> |
|
28 | <div id="powered-by"> | |
29 |
<p><a href="http:// |
|
29 | <p><a href="http://mercurial.selenic.com/" title="Mercurial"><img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a></p> | |
30 | </div> |
|
30 | </div> | |
31 |
|
31 | |||
32 | <div id="corner-top-left"></div> |
|
32 | <div id="corner-top-left"></div> |
@@ -10,7 +10,7 b'' | |||||
10 | <div class="container"> |
|
10 | <div class="container"> | |
11 | <div class="menu"> |
|
11 | <div class="menu"> | |
12 | <div class="logo"> |
|
12 | <div class="logo"> | |
13 |
<a href="http:// |
|
13 | <a href="http://mercurial.selenic.com/"> | |
14 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> |
|
14 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> | |
15 | </div> |
|
15 | </div> | |
16 | <ul> |
|
16 | <ul> |
@@ -5,7 +5,7 b'' | |||||
5 | <div class="container"> |
|
5 | <div class="container"> | |
6 | <div class="menu"> |
|
6 | <div class="menu"> | |
7 | <div class="logo"> |
|
7 | <div class="logo"> | |
8 |
<a href="http:// |
|
8 | <a href="http://mercurial.selenic.com/"> | |
9 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> |
|
9 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> | |
10 | </div> |
|
10 | </div> | |
11 | <ul> |
|
11 | <ul> |
@@ -6,7 +6,7 b'' | |||||
6 | <div class="container"> |
|
6 | <div class="container"> | |
7 | <div class="menu"> |
|
7 | <div class="menu"> | |
8 | <div class="logo"> |
|
8 | <div class="logo"> | |
9 |
<a href="http:// |
|
9 | <a href="http://mercurial.selenic.com/"> | |
10 | <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> |
|
10 | <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> | |
11 | </div> |
|
11 | </div> | |
12 | <ul> |
|
12 | <ul> |
@@ -6,7 +6,7 b'' | |||||
6 | <div class="container"> |
|
6 | <div class="container"> | |
7 | <div class="menu"> |
|
7 | <div class="menu"> | |
8 | <div class="logo"> |
|
8 | <div class="logo"> | |
9 |
<a href="http:// |
|
9 | <a href="http://mercurial.selenic.com/"> | |
10 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> |
|
10 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> | |
11 | </div> |
|
11 | </div> | |
12 | <ul> |
|
12 | <ul> |
@@ -6,7 +6,7 b'' | |||||
6 | <div class="container"> |
|
6 | <div class="container"> | |
7 | <div class="menu"> |
|
7 | <div class="menu"> | |
8 | <div class="logo"> |
|
8 | <div class="logo"> | |
9 |
<a href="http:// |
|
9 | <a href="http://mercurial.selenic.com/"> | |
10 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> |
|
10 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> | |
11 | </div> |
|
11 | </div> | |
12 | <ul> |
|
12 | <ul> |
@@ -10,7 +10,7 b'' | |||||
10 | <div class="container"> |
|
10 | <div class="container"> | |
11 | <div class="menu"> |
|
11 | <div class="menu"> | |
12 | <div class="logo"> |
|
12 | <div class="logo"> | |
13 |
<a href="http:// |
|
13 | <a href="http://mercurial.selenic.com/"> | |
14 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> |
|
14 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> | |
15 | </div> |
|
15 | </div> | |
16 | <ul> |
|
16 | <ul> |
@@ -6,7 +6,7 b'' | |||||
6 | <div class="container"> |
|
6 | <div class="container"> | |
7 | <div class="menu"> |
|
7 | <div class="menu"> | |
8 | <div class="logo"> |
|
8 | <div class="logo"> | |
9 |
<a href="http:// |
|
9 | <a href="http://mercurial.selenic.com/"> | |
10 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> |
|
10 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> | |
11 | </div> |
|
11 | </div> | |
12 | <ul> |
|
12 | <ul> |
@@ -11,7 +11,7 b'' | |||||
11 | <div class="container"> |
|
11 | <div class="container"> | |
12 | <div class="menu"> |
|
12 | <div class="menu"> | |
13 | <div class="logo"> |
|
13 | <div class="logo"> | |
14 |
<a href="http:// |
|
14 | <a href="http://mercurial.selenic.com/"> | |
15 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> |
|
15 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> | |
16 | </div> |
|
16 | </div> | |
17 | <ul> |
|
17 | <ul> |
@@ -5,7 +5,7 b'' | |||||
5 |
|
5 | |||
6 | <div class="container"> |
|
6 | <div class="container"> | |
7 | <div class="menu"> |
|
7 | <div class="menu"> | |
8 |
<a href="http:// |
|
8 | <a href="http://mercurial.selenic.com/"> | |
9 | <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> |
|
9 | <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> | |
10 | </div> |
|
10 | </div> | |
11 | <div class="main"> |
|
11 | <div class="main"> |
@@ -6,7 +6,7 b'' | |||||
6 | <div class="container"> |
|
6 | <div class="container"> | |
7 | <div class="menu"> |
|
7 | <div class="menu"> | |
8 | <div class="logo"> |
|
8 | <div class="logo"> | |
9 |
<a href="http:// |
|
9 | <a href="http://mercurial.selenic.com/"> | |
10 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> |
|
10 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> | |
11 | </div> |
|
11 | </div> | |
12 | <ul> |
|
12 | <ul> |
@@ -6,7 +6,7 b'' | |||||
6 | <div class="container"> |
|
6 | <div class="container"> | |
7 | <div class="menu"> |
|
7 | <div class="menu"> | |
8 | <div class="logo"> |
|
8 | <div class="logo"> | |
9 |
<a href="http:// |
|
9 | <a href="http://mercurial.selenic.com/"> | |
10 | <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a> |
|
10 | <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a> | |
11 | </div> |
|
11 | </div> | |
12 | <ul> |
|
12 | <ul> |
@@ -10,7 +10,7 b'' | |||||
10 | <div class="container"> |
|
10 | <div class="container"> | |
11 | <div class="menu"> |
|
11 | <div class="menu"> | |
12 | <div class="logo"> |
|
12 | <div class="logo"> | |
13 |
<a href="http:// |
|
13 | <a href="http://mercurial.selenic.com/"> | |
14 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> |
|
14 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> | |
15 | </div> |
|
15 | </div> | |
16 | <ul> |
|
16 | <ul> |
@@ -10,7 +10,7 b'' | |||||
10 | <div class="container"> |
|
10 | <div class="container"> | |
11 | <div class="menu"> |
|
11 | <div class="menu"> | |
12 | <div class="logo"> |
|
12 | <div class="logo"> | |
13 |
<a href="http:// |
|
13 | <a href="http://mercurial.selenic.com/"> | |
14 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> |
|
14 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> | |
15 | </div> |
|
15 | </div> | |
16 | <ul> |
|
16 | <ul> |
@@ -4,7 +4,7 b'' | |||||
4 | <item> |
|
4 | <item> | |
5 | <title>Error</title> |
|
5 | <title>Error</title> | |
6 | <description>{error|escape}</description> |
|
6 | <description>{error|escape}</description> | |
7 |
<guid>http:// |
|
7 | <guid>http://mercurial.selenic.com/#error</guid> | |
8 | </item> |
|
8 | </item> | |
9 | </channel> |
|
9 | </channel> | |
10 | </rss> |
|
10 | </rss> |
@@ -1,6 +1,6 b'' | |||||
1 | {motd} |
|
1 | {motd} | |
2 | <div class="logo"> |
|
2 | <div class="logo"> | |
3 |
<a href="http:// |
|
3 | <a href="http://mercurial.selenic.com/"> | |
4 | <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a> |
|
4 | <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a> | |
5 | </div> |
|
5 | </div> | |
6 |
|
6 |
@@ -3,5 +3,5 b' To run the tests, do:' | |||||
3 | cd tests/ |
|
3 | cd tests/ | |
4 | python run-tests.py |
|
4 | python run-tests.py | |
5 |
|
5 | |||
6 |
See http:// |
|
6 | See http://mercurial.selenic.com/wiki/WritingTests for | |
7 | more information on writing tests. |
|
7 | more information on writing tests. |
@@ -266,7 +266,9 b' def installhg(options):' | |||||
266 | pure = options.pure and "--pure" or "" |
|
266 | pure = options.pure and "--pure" or "" | |
267 |
|
267 | |||
268 | # Run installer in hg root |
|
268 | # Run installer in hg root | |
269 |
|
|
269 | script = os.path.realpath(sys.argv[0]) | |
|
270 | hgroot = os.path.dirname(os.path.dirname(script)) | |||
|
271 | os.chdir(hgroot) | |||
270 | cmd = ('%s setup.py %s clean --all' |
|
272 | cmd = ('%s setup.py %s clean --all' | |
271 | ' install --force --prefix="%s" --install-lib="%s"' |
|
273 | ' install --force --prefix="%s" --install-lib="%s"' | |
272 | ' --install-scripts="%s" >%s 2>&1' |
|
274 | ' --install-scripts="%s" >%s 2>&1' |
@@ -103,7 +103,7 b' hg clone full.hg full-clone' | |||||
103 | hg -R full-clone heads |
|
103 | hg -R full-clone heads | |
104 | rm -r full-clone |
|
104 | rm -r full-clone | |
105 |
|
105 | |||
106 |
# test for http:// |
|
106 | # test for http://mercurial.selenic.com/bts/issue216 | |
107 | echo "====== Unbundle incremental bundles into fresh empty in one go" |
|
107 | echo "====== Unbundle incremental bundles into fresh empty in one go" | |
108 | rm -r empty |
|
108 | rm -r empty | |
109 | hg init empty |
|
109 | hg init empty | |
@@ -131,7 +131,7 b' cd ../orig' | |||||
131 | hg incoming ../bundle.hg |
|
131 | hg incoming ../bundle.hg | |
132 | cd .. |
|
132 | cd .. | |
133 |
|
133 | |||
134 |
# test for http:// |
|
134 | # test for http://mercurial.selenic.com/bts/issue1144 | |
135 | echo "===== test that verify bundle does not traceback" |
|
135 | echo "===== test that verify bundle does not traceback" | |
136 | # partial history bundle, fails w/ unkown parent |
|
136 | # partial history bundle, fails w/ unkown parent | |
137 | hg -R bundle.hg verify |
|
137 | hg -R bundle.hg verify |
@@ -1,7 +1,7 b'' | |||||
1 | #!/bin/sh |
|
1 | #!/bin/sh | |
2 |
|
2 | |||
3 |
# This is http:// |
|
3 | # This is http://mercurial.selenic.com/bts/issue1148 | |
4 |
# and http:// |
|
4 | # and http://mercurial.selenic.com/bts/issue1447 | |
5 |
|
5 | |||
6 | "$TESTDIR/hghave" cvs || exit 80 |
|
6 | "$TESTDIR/hghave" cvs || exit 80 | |
7 |
|
7 |
@@ -36,8 +36,7 b' enabled extensions:' | |||||
36 | global options: |
|
36 | global options: | |
37 | -R --repository repository root directory or symbolic path name |
|
37 | -R --repository repository root directory or symbolic path name | |
38 | --cwd change working directory |
|
38 | --cwd change working directory | |
39 | -y --noninteractive do not prompt, assume 'yes' for any required |
|
39 | -y --noninteractive do not prompt, assume 'yes' for any required answers | |
40 | answers |
|
|||
41 | -q --quiet suppress output |
|
40 | -q --quiet suppress output | |
42 | -v --verbose enable additional output |
|
41 | -v --verbose enable additional output | |
43 | --config set/override config option |
|
42 | --config set/override config option |
@@ -58,10 +58,10 b' 0:b6c483daf290' | |||||
58 | %% earlygetopt with illegal abbreviations |
|
58 | %% earlygetopt with illegal abbreviations | |
59 | abort: Option --config may not be abbreviated! |
|
59 | abort: Option --config may not be abbreviated! | |
60 | abort: Option --cwd may not be abbreviated! |
|
60 | abort: Option --cwd may not be abbreviated! | |
61 |
abort: Option -R has to be separated from other options ( |
|
61 | abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo! | |
62 |
abort: Option -R has to be separated from other options ( |
|
62 | abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo! | |
63 |
abort: Option -R has to be separated from other options ( |
|
63 | abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo! | |
64 |
abort: Option -R has to be separated from other options ( |
|
64 | abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo! | |
65 | %% --cwd |
|
65 | %% --cwd | |
66 | changeset: 0:8580ff50825a |
|
66 | changeset: 0:8580ff50825a | |
67 | tag: tip |
|
67 | tag: tip |
@@ -172,7 +172,7 b' 200 Script output follows' | |||||
172 | <div class="container"> |
|
172 | <div class="container"> | |
173 | <div class="menu"> |
|
173 | <div class="menu"> | |
174 | <div class="logo"> |
|
174 | <div class="logo"> | |
175 |
<a href="http:// |
|
175 | <a href="http://mercurial.selenic.com/"> | |
176 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
176 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
177 | </div> |
|
177 | </div> | |
178 | <ul> |
|
178 | <ul> | |
@@ -251,7 +251,7 b' 200 Script output follows' | |||||
251 | <div class="container"> |
|
251 | <div class="container"> | |
252 | <div class="menu"> |
|
252 | <div class="menu"> | |
253 | <div class="logo"> |
|
253 | <div class="logo"> | |
254 |
<a href="http:// |
|
254 | <a href="http://mercurial.selenic.com/"> | |
255 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
255 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
256 | </div> |
|
256 | </div> | |
257 | <ul> |
|
257 | <ul> | |
@@ -378,7 +378,7 b' 200 Script output follows' | |||||
378 | <div class="container"> |
|
378 | <div class="container"> | |
379 | <div class="menu"> |
|
379 | <div class="menu"> | |
380 | <div class="logo"> |
|
380 | <div class="logo"> | |
381 |
<a href="http:// |
|
381 | <a href="http://mercurial.selenic.com/"> | |
382 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
382 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
383 | </div> |
|
383 | </div> | |
384 | <ul> |
|
384 | <ul> | |
@@ -502,7 +502,7 b' 200 Script output follows' | |||||
502 | <body> |
|
502 | <body> | |
503 |
|
503 | |||
504 | <div class="page_header"> |
|
504 | <div class="page_header"> | |
505 |
<a href="http://127.0.0.1/ |
|
505 | <a href="http://127.0.0.1/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / branches | |
506 | </div> |
|
506 | </div> | |
507 |
|
507 | |||
508 | <div class="page_nav"> |
|
508 | <div class="page_nav"> | |
@@ -573,7 +573,7 b' 200 Script output follows' | |||||
573 | <body> |
|
573 | <body> | |
574 |
|
574 | |||
575 | <div class="page_header"> |
|
575 | <div class="page_header"> | |
576 |
<a href="http:// |
|
576 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / summary | |
577 |
|
577 | |||
578 | <form action="/log"> |
|
578 | <form action="/log"> | |
579 | <input type="hidden" name="style" value="gitweb" /> |
|
579 | <input type="hidden" name="style" value="gitweb" /> | |
@@ -724,7 +724,7 b' 200 Script output follows' | |||||
724 | <body> |
|
724 | <body> | |
725 |
|
725 | |||
726 | <div class="page_header"> |
|
726 | <div class="page_header"> | |
727 |
<a href="http:// |
|
727 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / graph | |
728 | </div> |
|
728 | </div> | |
729 |
|
729 | |||
730 | <form action="/log"> |
|
730 | <form action="/log"> |
@@ -21,7 +21,7 b' 200 Script output follows' | |||||
21 | <div class="container"> |
|
21 | <div class="container"> | |
22 | <div class="menu"> |
|
22 | <div class="menu"> | |
23 | <div class="logo"> |
|
23 | <div class="logo"> | |
24 |
<a href="http:// |
|
24 | <a href="http://mercurial.selenic.com/"> | |
25 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
25 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
26 | </div> |
|
26 | </div> | |
27 | <ul> |
|
27 | <ul> |
@@ -19,7 +19,7 b' 200 Script output follows' | |||||
19 | <div class="container"> |
|
19 | <div class="container"> | |
20 | <div class="menu"> |
|
20 | <div class="menu"> | |
21 | <div class="logo"> |
|
21 | <div class="logo"> | |
22 |
<a href="http:// |
|
22 | <a href="http://mercurial.selenic.com/"> | |
23 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
23 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
24 | </div> |
|
24 | </div> | |
25 | <ul> |
|
25 | <ul> | |
@@ -112,7 +112,7 b' 200 Script output follows' | |||||
112 | <div class="container"> |
|
112 | <div class="container"> | |
113 | <div class="menu"> |
|
113 | <div class="menu"> | |
114 | <div class="logo"> |
|
114 | <div class="logo"> | |
115 |
<a href="http:// |
|
115 | <a href="http://mercurial.selenic.com/"> | |
116 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
116 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
117 | </div> |
|
117 | </div> | |
118 | <ul> |
|
118 | <ul> | |
@@ -201,7 +201,7 b' 200 Script output follows' | |||||
201 | <div class="container"> |
|
201 | <div class="container"> | |
202 | <div class="menu"> |
|
202 | <div class="menu"> | |
203 | <div class="logo"> |
|
203 | <div class="logo"> | |
204 |
<a href="http:// |
|
204 | <a href="http://mercurial.selenic.com/"> | |
205 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
205 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
206 | </div> |
|
206 | </div> | |
207 | <ul> |
|
207 | <ul> | |
@@ -296,7 +296,7 b' 200 Script output follows' | |||||
296 | <div class="container"> |
|
296 | <div class="container"> | |
297 | <div class="menu"> |
|
297 | <div class="menu"> | |
298 | <div class="logo"> |
|
298 | <div class="logo"> | |
299 |
<a href="http:// |
|
299 | <a href="http://mercurial.selenic.com/"> | |
300 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
300 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
301 | </div> |
|
301 | </div> | |
302 | <ul> |
|
302 | <ul> |
@@ -18,7 +18,7 b' 200 Script output follows' | |||||
18 | <div class="container"> |
|
18 | <div class="container"> | |
19 | <div class="menu"> |
|
19 | <div class="menu"> | |
20 | <div class="logo"> |
|
20 | <div class="logo"> | |
21 |
<a href="http:// |
|
21 | <a href="http://mercurial.selenic.com/"> | |
22 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
22 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
23 | </div> |
|
23 | </div> | |
24 | <ul> |
|
24 | <ul> | |
@@ -87,7 +87,7 b' 200 Script output follows' | |||||
87 | <div class="container"> |
|
87 | <div class="container"> | |
88 | <div class="menu"> |
|
88 | <div class="menu"> | |
89 | <div class="logo"> |
|
89 | <div class="logo"> | |
90 |
<a href="http:// |
|
90 | <a href="http://mercurial.selenic.com/"> | |
91 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
91 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
92 | </div> |
|
92 | </div> | |
93 | <ul> |
|
93 | <ul> | |
@@ -157,7 +157,7 b' 200 Script output follows' | |||||
157 | <div class="container"> |
|
157 | <div class="container"> | |
158 | <div class="menu"> |
|
158 | <div class="menu"> | |
159 | <div class="logo"> |
|
159 | <div class="logo"> | |
160 |
<a href="http:// |
|
160 | <a href="http://mercurial.selenic.com/"> | |
161 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
161 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
162 | </div> |
|
162 | </div> | |
163 | <ul> |
|
163 | <ul> | |
@@ -296,7 +296,7 b' 200 Script output follows' | |||||
296 | <div class="container"> |
|
296 | <div class="container"> | |
297 | <div class="menu"> |
|
297 | <div class="menu"> | |
298 | <div class="logo"> |
|
298 | <div class="logo"> | |
299 |
<a href="http:// |
|
299 | <a href="http://mercurial.selenic.com/"> | |
300 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
300 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
301 | </div> |
|
301 | </div> | |
302 | <ul> |
|
302 | <ul> |
@@ -106,7 +106,7 b' 200 Script output follows' | |||||
106 | <div class="container"> |
|
106 | <div class="container"> | |
107 | <div class="menu"> |
|
107 | <div class="menu"> | |
108 | <div class="logo"> |
|
108 | <div class="logo"> | |
109 |
<a href="http:// |
|
109 | <a href="http://mercurial.selenic.com/"> | |
110 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
110 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
111 | </div> |
|
111 | </div> | |
112 | <ul> |
|
112 | <ul> | |
@@ -189,7 +189,7 b' 200 Script output follows' | |||||
189 | <div class="container"> |
|
189 | <div class="container"> | |
190 | <div class="menu"> |
|
190 | <div class="menu"> | |
191 | <div class="logo"> |
|
191 | <div class="logo"> | |
192 |
<a href="http:// |
|
192 | <a href="http://mercurial.selenic.com/"> | |
193 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
193 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
194 | </div> |
|
194 | </div> | |
195 | <ul> |
|
195 | <ul> | |
@@ -272,7 +272,7 b' 200 Script output follows' | |||||
272 | <div class="container"> |
|
272 | <div class="container"> | |
273 | <div class="menu"> |
|
273 | <div class="menu"> | |
274 | <div class="logo"> |
|
274 | <div class="logo"> | |
275 |
<a href="http:// |
|
275 | <a href="http://mercurial.selenic.com/"> | |
276 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
276 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
277 | </div> |
|
277 | </div> | |
278 | <ul> |
|
278 | <ul> | |
@@ -350,7 +350,7 b' 200 Script output follows' | |||||
350 | <div class="container"> |
|
350 | <div class="container"> | |
351 | <div class="menu"> |
|
351 | <div class="menu"> | |
352 | <div class="logo"> |
|
352 | <div class="logo"> | |
353 |
<a href="http:// |
|
353 | <a href="http://mercurial.selenic.com/"> | |
354 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
354 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
355 | </div> |
|
355 | </div> | |
356 | <ul> |
|
356 | <ul> | |
@@ -424,7 +424,7 b' 404 Not Found' | |||||
424 | <div class="container"> |
|
424 | <div class="container"> | |
425 | <div class="menu"> |
|
425 | <div class="menu"> | |
426 | <div class="logo"> |
|
426 | <div class="logo"> | |
427 |
<a href="http:// |
|
427 | <a href="http://mercurial.selenic.com/"> | |
428 | <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> |
|
428 | <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> | |
429 | </div> |
|
429 | </div> | |
430 | <ul> |
|
430 | <ul> | |
@@ -559,7 +559,7 b' b@1e88685f5dde' | |||||
559 |
|
559 | |||
560 |
|
560 | |||
561 | <div class="logo"> |
|
561 | <div class="logo"> | |
562 |
<a href="http:// |
|
562 | <a href="http://mercurial.selenic.com/"> | |
563 | <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial"></a> |
|
563 | <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial"></a> | |
564 | </div> |
|
564 | </div> | |
565 |
|
565 |
@@ -17,7 +17,7 b' 200 Script output follows' | |||||
17 | <div class="container"> |
|
17 | <div class="container"> | |
18 | <div class="menu"> |
|
18 | <div class="menu"> | |
19 | <div class="logo"> |
|
19 | <div class="logo"> | |
20 |
<a href="http:// |
|
20 | <a href="http://mercurial.selenic.com/"> | |
21 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
21 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
22 | </div> |
|
22 | </div> | |
23 | <ul> |
|
23 | <ul> | |
@@ -106,7 +106,7 b' 200 Script output follows' | |||||
106 | <div class="container"> |
|
106 | <div class="container"> | |
107 | <div class="menu"> |
|
107 | <div class="menu"> | |
108 | <div class="logo"> |
|
108 | <div class="logo"> | |
109 |
<a href="http:// |
|
109 | <a href="http://mercurial.selenic.com/"> | |
110 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
110 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
111 | </div> |
|
111 | </div> | |
112 | <ul> |
|
112 | <ul> |
@@ -35,7 +35,7 b' 404 Not Found' | |||||
35 | <div class="container"> |
|
35 | <div class="container"> | |
36 | <div class="menu"> |
|
36 | <div class="menu"> | |
37 | <div class="logo"> |
|
37 | <div class="logo"> | |
38 |
<a href="http:// |
|
38 | <a href="http://mercurial.selenic.com/"> | |
39 | <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> |
|
39 | <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> | |
40 | </div> |
|
40 | </div> | |
41 | <ul> |
|
41 | <ul> | |
@@ -105,7 +105,7 b' 404 Not Found' | |||||
105 | <div class="container"> |
|
105 | <div class="container"> | |
106 | <div class="menu"> |
|
106 | <div class="menu"> | |
107 | <div class="logo"> |
|
107 | <div class="logo"> | |
108 |
<a href="http:// |
|
108 | <a href="http://mercurial.selenic.com/"> | |
109 | <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> |
|
109 | <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> | |
110 | </div> |
|
110 | </div> | |
111 | <ul> |
|
111 | <ul> |
@@ -56,7 +56,7 b' 200 Script output follows' | |||||
56 |
|
56 | |||
57 | <div class="container"> |
|
57 | <div class="container"> | |
58 | <div class="menu"> |
|
58 | <div class="menu"> | |
59 |
<a href="http:// |
|
59 | <a href="http://mercurial.selenic.com/"> | |
60 | <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> |
|
60 | <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> | |
61 | </div> |
|
61 | </div> | |
62 | <div class="main"> |
|
62 | <div class="main"> | |
@@ -192,7 +192,7 b' 200 Script output follows' | |||||
192 |
|
192 | |||
193 | <div class="container"> |
|
193 | <div class="container"> | |
194 | <div class="menu"> |
|
194 | <div class="menu"> | |
195 |
<a href="http:// |
|
195 | <a href="http://mercurial.selenic.com/"> | |
196 | <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> |
|
196 | <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> | |
197 | </div> |
|
197 | </div> | |
198 | <div class="main"> |
|
198 | <div class="main"> |
@@ -19,7 +19,7 b' 200 Script output follows' | |||||
19 | <div class="container"> |
|
19 | <div class="container"> | |
20 | <div class="menu"> |
|
20 | <div class="menu"> | |
21 | <div class="logo"> |
|
21 | <div class="logo"> | |
22 |
<a href="http:// |
|
22 | <a href="http://mercurial.selenic.com/"> | |
23 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
23 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
24 | </div> |
|
24 | </div> | |
25 | <ul> |
|
25 | <ul> | |
@@ -137,7 +137,7 b' 200 Script output follows' | |||||
137 | <div class="container"> |
|
137 | <div class="container"> | |
138 | <div class="menu"> |
|
138 | <div class="menu"> | |
139 | <div class="logo"> |
|
139 | <div class="logo"> | |
140 |
<a href="http:// |
|
140 | <a href="http://mercurial.selenic.com/"> | |
141 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
141 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
142 | </div> |
|
142 | </div> | |
143 | <ul> |
|
143 | <ul> | |
@@ -224,7 +224,7 b' 200 Script output follows' | |||||
224 | <div class="container"> |
|
224 | <div class="container"> | |
225 | <div class="menu"> |
|
225 | <div class="menu"> | |
226 | <div class="logo"> |
|
226 | <div class="logo"> | |
227 |
<a href="http:// |
|
227 | <a href="http://mercurial.selenic.com/"> | |
228 | <img src="/static/hglogo.png" alt="mercurial" /></a> |
|
228 | <img src="/static/hglogo.png" alt="mercurial" /></a> | |
229 | </div> |
|
229 | </div> | |
230 | <ul> |
|
230 | <ul> |
@@ -1,5 +1,5 b'' | |||||
1 | #!/bin/sh |
|
1 | #!/bin/sh | |
2 |
# http:// |
|
2 | # http://mercurial.selenic.com/bts/issue322 | |
3 |
|
3 | |||
4 | echo % file replaced with directory |
|
4 | echo % file replaced with directory | |
5 |
|
5 |
@@ -1,5 +1,5 b'' | |||||
1 | #!/bin/sh |
|
1 | #!/bin/sh | |
2 |
# http:// |
|
2 | # http://mercurial.selenic.com/bts/issue352 | |
3 |
|
3 | |||
4 | "$TESTDIR/hghave" eol-in-paths || exit 80 |
|
4 | "$TESTDIR/hghave" eol-in-paths || exit 80 | |
5 |
|
5 |
@@ -1,5 +1,5 b'' | |||||
1 | #!/bin/sh |
|
1 | #!/bin/sh | |
2 |
# http:// |
|
2 | # http://mercurial.selenic.com/bts/issue433 | |
3 |
|
3 | |||
4 | hg init a |
|
4 | hg init a | |
5 | cd a |
|
5 | cd a |
@@ -1,5 +1,5 b'' | |||||
1 | #!/bin/sh |
|
1 | #!/bin/sh | |
2 |
# http:// |
|
2 | # http://mercurial.selenic.com/bts/issue660 | |
3 |
|
3 | |||
4 |
|
4 | |||
5 | hg init a |
|
5 | hg init a |
@@ -50,14 +50,14 b' list of commands:' | |||||
50 |
|
50 | |||
51 | kwdemo print [keywordmaps] configuration and an expansion example |
|
51 | kwdemo print [keywordmaps] configuration and an expansion example | |
52 | kwexpand expand keywords in the working directory |
|
52 | kwexpand expand keywords in the working directory | |
53 |
kwfiles |
|
53 | kwfiles show files configured for keyword expansion | |
54 | kwshrink revert expanded keywords in the working directory |
|
54 | kwshrink revert expanded keywords in the working directory | |
55 |
|
55 | |||
56 | enabled extensions: |
|
56 | enabled extensions: | |
57 |
|
57 | |||
58 | keyword expand keywords in tracked files |
|
58 | keyword expand keywords in tracked files | |
59 |
mq |
|
59 | mq manage a stack of patches | |
60 |
notify send e |
|
60 | notify hooks for sending email notifications at commit/push time | |
61 |
|
61 | |||
62 | use "hg -v help keyword" to show aliases and global options |
|
62 | use "hg -v help keyword" to show aliases and global options | |
63 | % hg kwdemo |
|
63 | % hg kwdemo |
@@ -4,6 +4,10 b' 2 files updated, 0 files merged, 0 files' | |||||
4 | created new head |
|
4 | created new head | |
5 |
|
5 | |||
6 | # non-interactive merge |
|
6 | # non-interactive merge | |
|
7 | local changed file1 which remote deleted | |||
|
8 | use (c)hanged version or (d)elete? c | |||
|
9 | remote changed file2 which local deleted | |||
|
10 | use (c)hanged version or leave (d)eleted? c | |||
7 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
11 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
8 | (branch merge, don't forget to commit) |
|
12 | (branch merge, don't forget to commit) | |
9 | status: |
|
13 | status: |
@@ -304,6 +304,8 b' true.priority=1' | |||||
304 | true.executable=cat |
|
304 | true.executable=cat | |
305 | # hg update -C 1 |
|
305 | # hg update -C 1 | |
306 | # hg merge -r 2 --config ui.merge=internal:prompt |
|
306 | # hg merge -r 2 --config ui.merge=internal:prompt | |
|
307 | no tool found to merge f | |||
|
308 | keep (l)ocal or take (o)ther? l | |||
307 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
309 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
308 | (branch merge, don't forget to commit) |
|
310 | (branch merge, don't forget to commit) | |
309 | # cat f |
|
311 | # cat f | |
@@ -512,6 +514,8 b' space' | |||||
512 | revision 2 |
|
514 | revision 2 | |
513 | space |
|
515 | space | |
514 | merging f |
|
516 | merging f | |
|
517 | output file f appears unchanged | |||
|
518 | was merge successful (yn)? n | |||
515 | merging f failed! |
|
519 | merging f failed! | |
516 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved |
|
520 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | |
517 | use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon |
|
521 | use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon |
@@ -1,5 +1,5 b'' | |||||
1 | % help |
|
1 | % help | |
2 |
mq extension - |
|
2 | mq extension - manage a stack of patches | |
3 |
|
3 | |||
4 | This extension lets you work with a stack of patches in a Mercurial |
|
4 | This extension lets you work with a stack of patches in a Mercurial | |
5 | repository. It manages two stacks of patches - all known patches, and |
|
5 | repository. It manages two stacks of patches - all known patches, and | |
@@ -53,7 +53,7 b' list of commands:' | |||||
53 |
|
53 | |||
54 | enabled extensions: |
|
54 | enabled extensions: | |
55 |
|
55 | |||
56 |
mq |
|
56 | mq manage a stack of patches | |
57 |
|
57 | |||
58 | use "hg -v help mq" to show aliases and global options |
|
58 | use "hg -v help mq" to show aliases and global options | |
59 | adding a |
|
59 | adding a |
@@ -19,6 +19,9 b' hg branch default' | |||||
19 | hg branch -f default |
|
19 | hg branch -f default | |
20 | hg ci -m "clear branch name" -d "1000000 0" |
|
20 | hg ci -m "clear branch name" -d "1000000 0" | |
21 |
|
21 | |||
|
22 | echo % there should be only one default branch head | |||
|
23 | hg heads . | |||
|
24 | ||||
22 | hg co foo |
|
25 | hg co foo | |
23 | hg branch |
|
26 | hg branch | |
24 | echo bleah > a |
|
27 | echo bleah > a |
@@ -4,6 +4,13 b' marked working directory as branch bar' | |||||
4 | % branch shadowing |
|
4 | % branch shadowing | |
5 | abort: a branch of the same name already exists (use --force to override) |
|
5 | abort: a branch of the same name already exists (use --force to override) | |
6 | marked working directory as branch default |
|
6 | marked working directory as branch default | |
|
7 | % there should be only one default branch head | |||
|
8 | changeset: 3:bf1bc2f45e83 | |||
|
9 | tag: tip | |||
|
10 | user: test | |||
|
11 | date: Mon Jan 12 13:46:40 1970 +0000 | |||
|
12 | summary: clear branch name | |||
|
13 | ||||
7 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
14 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
8 | foo |
|
15 | foo | |
9 | created new head |
|
16 | created new head | |
@@ -81,7 +88,6 b' modify a branch' | |||||
81 |
|
88 | |||
82 | 4:4909a3732169 |
|
89 | 4:4909a3732169 | |
83 | 4909a3732169c0c20011c4f4b8fdff4e3d89b23f 4 |
|
90 | 4909a3732169c0c20011c4f4b8fdff4e3d89b23f 4 | |
84 | be8523e69bf892e25817fc97187516b3c0804ae4 default |
|
|||
85 | bf1bc2f45e834c75404d0ddab57d53beab56e2f8 default |
|
91 | bf1bc2f45e834c75404d0ddab57d53beab56e2f8 default | |
86 | 4909a3732169c0c20011c4f4b8fdff4e3d89b23f foo |
|
92 | 4909a3732169c0c20011c4f4b8fdff4e3d89b23f foo | |
87 | 67ec16bde7f1575d523313b9bca000f6a6f12dca bar |
|
93 | 67ec16bde7f1575d523313b9bca000f6a6f12dca bar | |
@@ -91,7 +97,6 b' be8523e69bf892e25817fc97187516b3c0804ae4' | |||||
91 | be8523e69bf892e25817fc97187516b3c0804ae4 default |
|
97 | be8523e69bf892e25817fc97187516b3c0804ae4 default | |
92 | % pushing everything |
|
98 | % pushing everything | |
93 | 4909a3732169c0c20011c4f4b8fdff4e3d89b23f 4 |
|
99 | 4909a3732169c0c20011c4f4b8fdff4e3d89b23f 4 | |
94 | be8523e69bf892e25817fc97187516b3c0804ae4 default |
|
|||
95 | bf1bc2f45e834c75404d0ddab57d53beab56e2f8 default |
|
100 | bf1bc2f45e834c75404d0ddab57d53beab56e2f8 default | |
96 | 4909a3732169c0c20011c4f4b8fdff4e3d89b23f foo |
|
101 | 4909a3732169c0c20011c4f4b8fdff4e3d89b23f foo | |
97 | 67ec16bde7f1575d523313b9bca000f6a6f12dca bar |
|
102 | 67ec16bde7f1575d523313b9bca000f6a6f12dca bar |
@@ -1,4 +1,4 b'' | |||||
1 |
notify extension - send e |
|
1 | notify extension - hooks for sending email notifications at commit/push time | |
2 |
|
2 | |||
3 | Subscriptions can be managed through hgrc. Default mode is to print |
|
3 | Subscriptions can be managed through hgrc. Default mode is to print | |
4 | messages to stdout, for testing and configuring. |
|
4 | messages to stdout, for testing and configuring. |
@@ -27,10 +27,8 b' interactively select changes to commit' | |||||
27 |
|
27 | |||
28 | options: |
|
28 | options: | |
29 |
|
29 | |||
30 | -A --addremove mark new/missing files as added/removed before |
|
30 | -A --addremove mark new/missing files as added/removed before committing | |
31 | committing |
|
31 | --close-branch mark a branch as closed, hiding it from the branch list | |
32 | --close-branch mark a branch as closed, hiding it from the branch |
|
|||
33 | list |
|
|||
34 | -I --include include names matching the given patterns |
|
32 | -I --include include names matching the given patterns | |
35 | -X --exclude exclude names matching the given patterns |
|
33 | -X --exclude exclude names matching the given patterns | |
36 | -m --message use <text> as commit message |
|
34 | -m --message use <text> as commit message |
@@ -61,6 +61,9 b' hg remove removed' | |||||
61 | rm deleted |
|
61 | rm deleted | |
62 | hg copy modified copied |
|
62 | hg copy modified copied | |
63 |
|
63 | |||
|
64 | echo "% test unknown color" | |||
|
65 | hg --config color.status.modified=periwinkle status --color=always | |||
|
66 | ||||
64 | # Run status with 2 different flags. |
|
67 | # Run status with 2 different flags. | |
65 | # Check if result is the same or different. |
|
68 | # Check if result is the same or different. | |
66 | # If result is not as expected, raise error |
|
69 | # If result is not as expected, raise error |
@@ -124,3 +124,11 b' adding .hgignore' | |||||
124 | adding deleted |
|
124 | adding deleted | |
125 | adding modified |
|
125 | adding modified | |
126 | adding removed |
|
126 | adding removed | |
|
127 | % test unknown color | |||
|
128 | ignoring unknown color/effect 'periwinkle' (configured in color.status.modified) | |||
|
129 | M modified | |||
|
130 | [0;32;1mA added[0m | |||
|
131 | [0;32;1mA copied[0m | |||
|
132 | [0;31;1mR removed[0m | |||
|
133 | [0;36;1;4m! deleted[0m | |||
|
134 | [0;35;1;4m? unknown[0m |
General Comments 0
You need to be logged in to leave comments.
Login now