Mercurial > public > mercurial-scm > hg
comparison mercurial/patch.py @ 7198:df79ee9b6278
patch: extract local function addmodehdr
author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
---|---|
date | Wed, 22 Oct 2008 09:29:26 +0200 |
parents | f77c8d8331ca |
children | dd891d0d97a3 |
comparison
equal
deleted
inserted
replaced
7197:f60730693efc | 7198:df79ee9b6278 |
---|---|
1164 for l in chunk(zlib.compress(tn)): | 1164 for l in chunk(zlib.compress(tn)): |
1165 ret.append(fmtline(l)) | 1165 ret.append(fmtline(l)) |
1166 ret.append('\n') | 1166 ret.append('\n') |
1167 return ''.join(ret) | 1167 return ''.join(ret) |
1168 | 1168 |
1169 def _addmodehdr(header, omode, nmode): | |
1170 if omode != nmode: | |
1171 header.append('old mode %s\n' % omode) | |
1172 header.append('new mode %s\n' % nmode) | |
1173 | |
1169 def diff(repo, node1=None, node2=None, match=None, | 1174 def diff(repo, node1=None, node2=None, match=None, |
1170 fp=None, changes=None, opts=None): | 1175 fp=None, changes=None, opts=None): |
1171 '''print diff of changes to files between two nodes, or node and | 1176 '''print diff of changes to files between two nodes, or node and |
1172 working directory. | 1177 working directory. |
1173 | 1178 |
1228 to = getfilectx(f, ctx1).data() | 1233 to = getfilectx(f, ctx1).data() |
1229 if f not in removed: | 1234 if f not in removed: |
1230 tn = getfilectx(f, ctx2).data() | 1235 tn = getfilectx(f, ctx2).data() |
1231 a, b = f, f | 1236 a, b = f, f |
1232 if opts.git: | 1237 if opts.git: |
1233 def addmodehdr(header, omode, nmode): | |
1234 if omode != nmode: | |
1235 header.append('old mode %s\n' % omode) | |
1236 header.append('new mode %s\n' % nmode) | |
1237 | |
1238 if f in added: | 1238 if f in added: |
1239 mode = gitmode[ctx2.flags(f)] | 1239 mode = gitmode[ctx2.flags(f)] |
1240 if f in copy: | 1240 if f in copy: |
1241 a = copy[f] | 1241 a = copy[f] |
1242 omode = gitmode[man1.flags(a)] | 1242 omode = gitmode[man1.flags(a)] |
1243 addmodehdr(header, omode, mode) | 1243 _addmodehdr(header, omode, mode) |
1244 if a in removed and a not in gone: | 1244 if a in removed and a not in gone: |
1245 op = 'rename' | 1245 op = 'rename' |
1246 gone[a] = 1 | 1246 gone[a] = 1 |
1247 else: | 1247 else: |
1248 op = 'copy' | 1248 op = 'copy' |
1261 header.append('deleted file mode %s\n' % | 1261 header.append('deleted file mode %s\n' % |
1262 gitmode[man1.flags(f)]) | 1262 gitmode[man1.flags(f)]) |
1263 else: | 1263 else: |
1264 omode = gitmode[man1.flags(f)] | 1264 omode = gitmode[man1.flags(f)] |
1265 nmode = gitmode[ctx2.flags(f)] | 1265 nmode = gitmode[ctx2.flags(f)] |
1266 addmodehdr(header, omode, nmode) | 1266 _addmodehdr(header, omode, nmode) |
1267 if util.binary(to) or util.binary(tn): | 1267 if util.binary(to) or util.binary(tn): |
1268 dodiff = 'binary' | 1268 dodiff = 'binary' |
1269 r = None | 1269 r = None |
1270 header.insert(0, 'diff --git a/%s b/%s\n' % (a, b)) | 1270 header.insert(0, 'diff --git a/%s b/%s\n' % (a, b)) |
1271 if dodiff: | 1271 if dodiff: |