Show More
@@ -0,0 +1,1 b'' | |||||
|
1 | test@test.com No newline at end of file |
@@ -0,0 +1,59 b'' | |||||
|
1 | # Binary file regexps: | |||
|
2 | \.png$ | |||
|
3 | \.PNG$ | |||
|
4 | \.gz$ | |||
|
5 | \.GZ$ | |||
|
6 | \.pdf$ | |||
|
7 | \.PDF$ | |||
|
8 | \.jpg$ | |||
|
9 | \.JPG$ | |||
|
10 | \.jpeg$ | |||
|
11 | \.JPEG$ | |||
|
12 | \.gif$ | |||
|
13 | \.GIF$ | |||
|
14 | \.tif$ | |||
|
15 | \.TIF$ | |||
|
16 | \.tiff$ | |||
|
17 | \.TIFF$ | |||
|
18 | \.pnm$ | |||
|
19 | \.PNM$ | |||
|
20 | \.pbm$ | |||
|
21 | \.PBM$ | |||
|
22 | \.pgm$ | |||
|
23 | \.PGM$ | |||
|
24 | \.ppm$ | |||
|
25 | \.PPM$ | |||
|
26 | \.bmp$ | |||
|
27 | \.BMP$ | |||
|
28 | \.mng$ | |||
|
29 | \.MNG$ | |||
|
30 | \.tar$ | |||
|
31 | \.TAR$ | |||
|
32 | \.bz2$ | |||
|
33 | \.BZ2$ | |||
|
34 | \.z$ | |||
|
35 | \.Z$ | |||
|
36 | \.zip$ | |||
|
37 | \.ZIP$ | |||
|
38 | \.jar$ | |||
|
39 | \.JAR$ | |||
|
40 | \.so$ | |||
|
41 | \.SO$ | |||
|
42 | \.a$ | |||
|
43 | \.A$ | |||
|
44 | \.tgz$ | |||
|
45 | \.TGZ$ | |||
|
46 | \.mpg$ | |||
|
47 | \.MPG$ | |||
|
48 | \.mpeg$ | |||
|
49 | \.MPEG$ | |||
|
50 | \.iso$ | |||
|
51 | \.ISO$ | |||
|
52 | \.exe$ | |||
|
53 | \.EXE$ | |||
|
54 | \.doc$ | |||
|
55 | \.DOC$ | |||
|
56 | \.elc$ | |||
|
57 | \.ELC$ | |||
|
58 | \.pyc$ | |||
|
59 | \.PYC$ |
@@ -0,0 +1,49 b'' | |||||
|
1 | # Boring file regexps: | |||
|
2 | \.hi$ | |||
|
3 | \.hi-boot$ | |||
|
4 | \.o-boot$ | |||
|
5 | \.o$ | |||
|
6 | \.o\.cmd$ | |||
|
7 | # *.ko files aren't boring by default because they might | |||
|
8 | # be Korean translations rather than kernel modules. | |||
|
9 | # \.ko$ | |||
|
10 | \.ko\.cmd$ | |||
|
11 | \.mod\.c$ | |||
|
12 | (^|/)\.tmp_versions($|/) | |||
|
13 | (^|/)CVS($|/) | |||
|
14 | \.cvsignore$ | |||
|
15 | ^\.# | |||
|
16 | (^|/)RCS($|/) | |||
|
17 | ,v$ | |||
|
18 | (^|/)\.svn($|/) | |||
|
19 | \.bzr$ | |||
|
20 | (^|/)SCCS($|/) | |||
|
21 | ~$ | |||
|
22 | (^|/)_darcs($|/) | |||
|
23 | \.bak$ | |||
|
24 | \.BAK$ | |||
|
25 | \.orig$ | |||
|
26 | \.rej$ | |||
|
27 | (^|/)vssver\.scc$ | |||
|
28 | \.swp$ | |||
|
29 | (^|/)MT($|/) | |||
|
30 | (^|/)\{arch\}($|/) | |||
|
31 | (^|/).arch-ids($|/) | |||
|
32 | (^|/), | |||
|
33 | \.prof$ | |||
|
34 | (^|/)\.DS_Store$ | |||
|
35 | (^|/)BitKeeper($|/) | |||
|
36 | (^|/)ChangeSet($|/) | |||
|
37 | \.py[co]$ | |||
|
38 | \.elc$ | |||
|
39 | \.class$ | |||
|
40 | \# | |||
|
41 | (^|/)Thumbs\.db$ | |||
|
42 | (^|/)autom4te\.cache($|/) | |||
|
43 | (^|/)config\.(log|status)$ | |||
|
44 | ^\.depend$ | |||
|
45 | (^|/)(tags|TAGS)$ | |||
|
46 | #(^|/)\.[^/] | |||
|
47 | (^|/|\.)core$ | |||
|
48 | \.(obj|a|exe|so|lo|la)$ | |||
|
49 | ^\.darcs-temp-mail$ |
1 | NO CONTENT: new file 100644 |
|
NO CONTENT: new file 100644 |
@@ -0,0 +1,1 b'' | |||||
|
1 | a |
@@ -0,0 +1,1 b'' | |||||
|
1 | a |
@@ -224,6 +224,7 b' def reposetup(ui, repo):' | |||||
224 | in the .hg/bookmarks file. |
|
224 | in the .hg/bookmarks file. | |
225 | Read the file and return a (name=>nodeid) dictionary |
|
225 | Read the file and return a (name=>nodeid) dictionary | |
226 | ''' |
|
226 | ''' | |
|
227 | self._loadingbookmarks = True | |||
227 | try: |
|
228 | try: | |
228 | bookmarks = {} |
|
229 | bookmarks = {} | |
229 | for line in self.opener('bookmarks'): |
|
230 | for line in self.opener('bookmarks'): | |
@@ -231,6 +232,7 b' def reposetup(ui, repo):' | |||||
231 | bookmarks[refspec] = super(bookmark_repo, self).lookup(sha) |
|
232 | bookmarks[refspec] = super(bookmark_repo, self).lookup(sha) | |
232 | except: |
|
233 | except: | |
233 | pass |
|
234 | pass | |
|
235 | self._loadingbookmarks = False | |||
234 | return bookmarks |
|
236 | return bookmarks | |
235 |
|
237 | |||
236 | @util.propertycache |
|
238 | @util.propertycache | |
@@ -257,8 +259,9 b' def reposetup(ui, repo):' | |||||
257 | return super(bookmark_repo, self).rollback(*args) |
|
259 | return super(bookmark_repo, self).rollback(*args) | |
258 |
|
260 | |||
259 | def lookup(self, key): |
|
261 | def lookup(self, key): | |
260 |
if |
|
262 | if not getattr(self, '_loadingbookmarks', False): | |
261 |
key |
|
263 | if key in self._bookmarks: | |
|
264 | key = self._bookmarks[key] | |||
262 | return super(bookmark_repo, self).lookup(key) |
|
265 | return super(bookmark_repo, self).lookup(key) | |
263 |
|
266 | |||
264 | def _bookmarksupdate(self, parents, node): |
|
267 | def _bookmarksupdate(self, parents, node): | |
@@ -357,7 +360,8 b' def reposetup(ui, repo):' | |||||
357 | def _findtags(self): |
|
360 | def _findtags(self): | |
358 | """Merge bookmarks with normal tags""" |
|
361 | """Merge bookmarks with normal tags""" | |
359 | (tags, tagtypes) = super(bookmark_repo, self)._findtags() |
|
362 | (tags, tagtypes) = super(bookmark_repo, self)._findtags() | |
360 |
|
|
363 | if not getattr(self, '_loadingbookmarks', False): | |
|
364 | tags.update(self._bookmarks) | |||
361 | return (tags, tagtypes) |
|
365 | return (tags, tagtypes) | |
362 |
|
366 | |||
363 | if hasattr(repo, 'invalidate'): |
|
367 | if hasattr(repo, 'invalidate'): |
@@ -8,7 +8,7 b'' | |||||
8 | from common import NoRepo, checktool, commandline, commit, converter_source |
|
8 | from common import NoRepo, checktool, commandline, commit, converter_source | |
9 | from mercurial.i18n import _ |
|
9 | from mercurial.i18n import _ | |
10 | from mercurial import util |
|
10 | from mercurial import util | |
11 | import os, shutil, tempfile |
|
11 | import os, shutil, tempfile, re | |
12 |
|
12 | |||
13 | # The naming drift of ElementTree is fun! |
|
13 | # The naming drift of ElementTree is fun! | |
14 |
|
14 | |||
@@ -31,11 +31,8 b' class darcs_source(converter_source, com' | |||||
31 | converter_source.__init__(self, ui, path, rev=rev) |
|
31 | converter_source.__init__(self, ui, path, rev=rev) | |
32 | commandline.__init__(self, ui, 'darcs') |
|
32 | commandline.__init__(self, ui, 'darcs') | |
33 |
|
33 | |||
34 |
# check for _darcs, ElementTree |
|
34 | # check for _darcs, ElementTree so that we can easily skip | |
35 |
# |
|
35 | # test-convert-darcs if ElementTree is not around | |
36 | if not os.path.exists(os.path.join(path, '_darcs', 'inventories')): |
|
|||
37 | raise NoRepo(_("%s does not look like a darcs repository") % path) |
|
|||
38 |
|
||||
39 | if not os.path.exists(os.path.join(path, '_darcs')): |
|
36 | if not os.path.exists(os.path.join(path, '_darcs')): | |
40 | raise NoRepo(_("%s does not look like a darcs repository") % path) |
|
37 | raise NoRepo(_("%s does not look like a darcs repository") % path) | |
41 |
|
38 | |||
@@ -55,6 +52,15 b' class darcs_source(converter_source, com' | |||||
55 | self.parents = {} |
|
52 | self.parents = {} | |
56 | self.tags = {} |
|
53 | self.tags = {} | |
57 |
|
54 | |||
|
55 | # Check darcs repository format | |||
|
56 | format = self.format() | |||
|
57 | if format: | |||
|
58 | if format in ('darcs-1.0', 'hashed'): | |||
|
59 | raise NoRepo(_("%s repository format is unsupported, " | |||
|
60 | "please upgrade") % format) | |||
|
61 | else: | |||
|
62 | self.ui.warn(_('failed to detect repository format!')) | |||
|
63 | ||||
58 | def before(self): |
|
64 | def before(self): | |
59 | self.tmppath = tempfile.mkdtemp( |
|
65 | self.tmppath = tempfile.mkdtemp( | |
60 | prefix='convert-' + os.path.basename(self.path) + '-') |
|
66 | prefix='convert-' + os.path.basename(self.path) + '-') | |
@@ -91,6 +97,15 b' class darcs_source(converter_source, com' | |||||
91 | self.checkexit(fp.close()) |
|
97 | self.checkexit(fp.close()) | |
92 | return etree.getroot() |
|
98 | return etree.getroot() | |
93 |
|
99 | |||
|
100 | def format(self): | |||
|
101 | output, status = self.run('show', 'repo', no_files=True, | |||
|
102 | repodir=self.path) | |||
|
103 | self.checkexit(status) | |||
|
104 | m = re.search(r'^\s*Format:\s*(.*)$', output, re.MULTILINE) | |||
|
105 | if not m: | |||
|
106 | return None | |||
|
107 | return ','.join(sorted(f.strip() for f in m.group(1).split(','))) | |||
|
108 | ||||
94 | def manifest(self): |
|
109 | def manifest(self): | |
95 | man = [] |
|
110 | man = [] | |
96 | output, status = self.run('show', 'files', no_directories=True, |
|
111 | output, status = self.run('show', 'files', no_directories=True, |
@@ -486,9 +486,6 b' class httphandler(keepalive.HTTPHandler)' | |||||
486 | _generic_start_transaction(self, h, req) |
|
486 | _generic_start_transaction(self, h, req) | |
487 | return keepalive.HTTPHandler._start_transaction(self, h, req) |
|
487 | return keepalive.HTTPHandler._start_transaction(self, h, req) | |
488 |
|
488 | |||
489 | def __del__(self): |
|
|||
490 | self.close_all() |
|
|||
491 |
|
||||
492 | if has_https: |
|
489 | if has_https: | |
493 | class BetterHTTPS(httplib.HTTPSConnection): |
|
490 | class BetterHTTPS(httplib.HTTPSConnection): | |
494 | send = keepalive.safesend |
|
491 | send = keepalive.safesend |
@@ -58,3 +58,30 b' list bookmarks' | |||||
58 | * test 1:8cf31af87a2b |
|
58 | * test 1:8cf31af87a2b | |
59 | * test2 1:8cf31af87a2b |
|
59 | * test2 1:8cf31af87a2b | |
60 |
|
60 | |||
|
61 | immediate rollback and reentrancy issue | |||
|
62 | ||||
|
63 | $ echo "mq=!" >> $HGRCPATH | |||
|
64 | $ hg init repo | |||
|
65 | $ cd repo | |||
|
66 | $ echo a > a | |||
|
67 | $ hg ci -Am adda | |||
|
68 | adding a | |||
|
69 | $ echo b > b | |||
|
70 | $ hg ci -Am addb | |||
|
71 | adding b | |||
|
72 | $ hg bookmarks markb | |||
|
73 | $ hg rollback | |||
|
74 | rolling back to revision 0 (undo commit) | |||
|
75 | ||||
|
76 | are you there? | |||
|
77 | ||||
|
78 | $ hg bookmarks | |||
|
79 | no bookmarks set | |||
|
80 | ||||
|
81 | can you be added again? | |||
|
82 | ||||
|
83 | $ hg bookmarks markb | |||
|
84 | $ hg bookmarks | |||
|
85 | * markb 0:07f494440405 | |||
|
86 | $ cd .. | |||
|
87 |
@@ -17,6 +17,9 b' if hg convert dummy 2>&1 | grep ElementT' | |||||
17 | exit 80 |
|
17 | exit 80 | |
18 | fi |
|
18 | fi | |
19 |
|
19 | |||
|
20 | echo '% try converting darcs1 repository' | |||
|
21 | hg convert -s darcs "$TESTDIR/darcs/darcs1" 2>&1 | grep darcs-1.0 | |||
|
22 | ||||
20 | echo % initialize darcs repo |
|
23 | echo % initialize darcs repo | |
21 | mkdir darcs-repo |
|
24 | mkdir darcs-repo | |
22 | cd darcs-repo |
|
25 | cd darcs-repo |
General Comments 0
You need to be logged in to leave comments.
Login now