Show More
@@ -38,6 +38,24 b' def help():' | |||
|
38 | 38 | diff [files...] diff working directory (or selected files) |
|
39 | 39 | """ |
|
40 | 40 | |
|
41 | def diffdir(node, files = None): | |
|
42 | (c, a, d) = repo.diffdir(repo.root, node) | |
|
43 | ||
|
44 | if args: | |
|
45 | nc = [ x for x in c if x in args ] | |
|
46 | na = [ x for x in a if x in args ] | |
|
47 | nd = [ x for x in d if x in args ] | |
|
48 | for arg in args: | |
|
49 | if not os.path.isdir(arg): continue | |
|
50 | if arg[-1] != os.sep: arg += os.sep | |
|
51 | nc += [ x for x in c if x.startswith(arg) ] | |
|
52 | na += [ x for x in a if x.startswith(arg) ] | |
|
53 | nd += [ x for x in d if x.startswith(arg) ] | |
|
54 | (c, a, d) = (nc, na, nd) | |
|
55 | ||
|
56 | return (c, a, d) | |
|
57 | ||
|
58 | ||
|
41 | 59 | options = {} |
|
42 | 60 | opts = [('v', 'verbose', None, 'verbose'), |
|
43 | 61 | ('d', 'debug', None, 'debug')] |
@@ -88,9 +106,9 b' elif cmd == "remove" or cmd == "rm" or c' | |||
|
88 | 106 | elif cmd == "commit" or cmd == "checkin" or cmd == "ci": |
|
89 | 107 | if 1: |
|
90 | 108 | if len(args) > 0: |
|
91 | repo.commit(args) | |
|
109 | repo.commit(repo.current, args) | |
|
92 | 110 | else: |
|
93 | repo.commit() | |
|
111 | repo.commit(repo.current) | |
|
94 | 112 | |
|
95 | 113 | elif cmd == "import" or cmd == "patch": |
|
96 | 114 | ioptions = {} |
@@ -112,31 +130,19 b' elif cmd == "import" or cmd == "patch":' | |||
|
112 | 130 | repo.commit(files) |
|
113 | 131 | |
|
114 | 132 | elif cmd == "status": |
|
115 |
(c, a, d) = |
|
|
133 | (c, a, d) = diffdir(repo.current) | |
|
116 | 134 | for f in c: print "C", f |
|
117 | 135 | for f in a: print "?", f |
|
118 | 136 | for f in d: print "R", f |
|
119 | 137 | |
|
120 | 138 | elif cmd == "diff": |
|
139 | (c, a, d) = diffdir(repo.current, args) | |
|
140 | ||
|
121 | 141 | mmap = {} |
|
122 | 142 | if repo.current: |
|
123 | 143 | change = repo.changelog.read(repo.current) |
|
124 | 144 | mmap = repo.manifest.read(change[0]) |
|
125 | 145 | |
|
126 | (c, a, d) = repo.diffdir(repo.root, repo.current) | |
|
127 | ||
|
128 | if args: | |
|
129 | nc = [ x for x in c if x in args ] | |
|
130 | na = [ x for x in a if x in args ] | |
|
131 | nd = [ x for x in d if x in args ] | |
|
132 | for arg in args: | |
|
133 | if not os.path.isdir(arg): continue | |
|
134 | if arg[-1] != os.sep: arg += os.sep | |
|
135 | nc += [ x for x in c if x.startswith(arg) ] | |
|
136 | na += [ x for x in a if x.startswith(arg) ] | |
|
137 | nd += [ x for x in d if x.startswith(arg) ] | |
|
138 | (c, a, d) = (nc, na, nd) | |
|
139 | ||
|
140 | 146 | for f in c: |
|
141 | 147 | to = repo.file(f).read(mmap[f]) |
|
142 | 148 | tn = file(f).read() |
General Comments 0
You need to be logged in to leave comments.
Login now