1403 self._first = False |
1403 self._first = False |
1404 else: |
1404 else: |
1405 self.ui.write(",\n {") |
1405 self.ui.write(",\n {") |
1406 |
1406 |
1407 if self.ui.quiet: |
1407 if self.ui.quiet: |
1408 self.ui.write('\n "rev": %s' % jrev) |
1408 self.ui.write(('\n "rev": %s') % jrev) |
1409 self.ui.write(',\n "node": %s' % jnode) |
1409 self.ui.write((',\n "node": %s') % jnode) |
1410 self.ui.write('\n }') |
1410 self.ui.write('\n }') |
1411 return |
1411 return |
1412 |
1412 |
1413 self.ui.write('\n "rev": %s' % jrev) |
1413 self.ui.write(('\n "rev": %s') % jrev) |
1414 self.ui.write(',\n "node": %s' % jnode) |
1414 self.ui.write((',\n "node": %s') % jnode) |
1415 self.ui.write(',\n "branch": "%s"' % j(ctx.branch())) |
1415 self.ui.write((',\n "branch": "%s"') % j(ctx.branch())) |
1416 self.ui.write(',\n "phase": "%s"' % ctx.phasestr()) |
1416 self.ui.write((',\n "phase": "%s"') % ctx.phasestr()) |
1417 self.ui.write(',\n "user": "%s"' % j(ctx.user())) |
1417 self.ui.write((',\n "user": "%s"') % j(ctx.user())) |
1418 self.ui.write(',\n "date": [%d, %d]' % ctx.date()) |
1418 self.ui.write((',\n "date": [%d, %d]') % ctx.date()) |
1419 self.ui.write(',\n "desc": "%s"' % j(ctx.description())) |
1419 self.ui.write((',\n "desc": "%s"') % j(ctx.description())) |
1420 |
1420 |
1421 self.ui.write(',\n "bookmarks": [%s]' % |
1421 self.ui.write((',\n "bookmarks": [%s]') % |
1422 ", ".join('"%s"' % j(b) for b in ctx.bookmarks())) |
1422 ", ".join('"%s"' % j(b) for b in ctx.bookmarks())) |
1423 self.ui.write(',\n "tags": [%s]' % |
1423 self.ui.write((',\n "tags": [%s]') % |
1424 ", ".join('"%s"' % j(t) for t in ctx.tags())) |
1424 ", ".join('"%s"' % j(t) for t in ctx.tags())) |
1425 self.ui.write(',\n "parents": [%s]' % |
1425 self.ui.write((',\n "parents": [%s]') % |
1426 ", ".join('"%s"' % c.hex() for c in ctx.parents())) |
1426 ", ".join('"%s"' % c.hex() for c in ctx.parents())) |
1427 |
1427 |
1428 if self.ui.debugflag: |
1428 if self.ui.debugflag: |
1429 if rev is None: |
1429 if rev is None: |
1430 jmanifestnode = 'null' |
1430 jmanifestnode = 'null' |
1431 else: |
1431 else: |
1432 jmanifestnode = '"%s"' % hex(ctx.manifestnode()) |
1432 jmanifestnode = '"%s"' % hex(ctx.manifestnode()) |
1433 self.ui.write(',\n "manifest": %s' % jmanifestnode) |
1433 self.ui.write((',\n "manifest": %s') % jmanifestnode) |
1434 |
1434 |
1435 self.ui.write(',\n "extra": {%s}' % |
1435 self.ui.write((',\n "extra": {%s}') % |
1436 ", ".join('"%s": "%s"' % (j(k), j(v)) |
1436 ", ".join('"%s": "%s"' % (j(k), j(v)) |
1437 for k, v in ctx.extra().items())) |
1437 for k, v in ctx.extra().items())) |
1438 |
1438 |
1439 files = ctx.p1().status(ctx) |
1439 files = ctx.p1().status(ctx) |
1440 self.ui.write(',\n "modified": [%s]' % |
1440 self.ui.write((',\n "modified": [%s]') % |
1441 ", ".join('"%s"' % j(f) for f in files[0])) |
1441 ", ".join('"%s"' % j(f) for f in files[0])) |
1442 self.ui.write(',\n "added": [%s]' % |
1442 self.ui.write((',\n "added": [%s]') % |
1443 ", ".join('"%s"' % j(f) for f in files[1])) |
1443 ", ".join('"%s"' % j(f) for f in files[1])) |
1444 self.ui.write(',\n "removed": [%s]' % |
1444 self.ui.write((',\n "removed": [%s]') % |
1445 ", ".join('"%s"' % j(f) for f in files[2])) |
1445 ", ".join('"%s"' % j(f) for f in files[2])) |
1446 |
1446 |
1447 elif self.ui.verbose: |
1447 elif self.ui.verbose: |
1448 self.ui.write(',\n "files": [%s]' % |
1448 self.ui.write((',\n "files": [%s]') % |
1449 ", ".join('"%s"' % j(f) for f in ctx.files())) |
1449 ", ".join('"%s"' % j(f) for f in ctx.files())) |
1450 |
1450 |
1451 if copies: |
1451 if copies: |
1452 self.ui.write(',\n "copies": {%s}' % |
1452 self.ui.write((',\n "copies": {%s}') % |
1453 ", ".join('"%s": "%s"' % (j(k), j(v)) |
1453 ", ".join('"%s": "%s"' % (j(k), j(v)) |
1454 for k, v in copies)) |
1454 for k, v in copies)) |
1455 |
1455 |
1456 matchfn = self.matchfn |
1456 matchfn = self.matchfn |
1457 if matchfn: |
1457 if matchfn: |
1461 node, prev = ctx.node(), ctx.p1().node() |
1461 node, prev = ctx.node(), ctx.p1().node() |
1462 if stat: |
1462 if stat: |
1463 self.ui.pushbuffer() |
1463 self.ui.pushbuffer() |
1464 diffordiffstat(self.ui, self.repo, diffopts, prev, node, |
1464 diffordiffstat(self.ui, self.repo, diffopts, prev, node, |
1465 match=matchfn, stat=True) |
1465 match=matchfn, stat=True) |
1466 self.ui.write(',\n "diffstat": "%s"' % j(self.ui.popbuffer())) |
1466 self.ui.write((',\n "diffstat": "%s"') |
|
1467 % j(self.ui.popbuffer())) |
1467 if diff: |
1468 if diff: |
1468 self.ui.pushbuffer() |
1469 self.ui.pushbuffer() |
1469 diffordiffstat(self.ui, self.repo, diffopts, prev, node, |
1470 diffordiffstat(self.ui, self.repo, diffopts, prev, node, |
1470 match=matchfn, stat=False) |
1471 match=matchfn, stat=False) |
1471 self.ui.write(',\n "diff": "%s"' % j(self.ui.popbuffer())) |
1472 self.ui.write((',\n "diff": "%s"') % j(self.ui.popbuffer())) |
1472 |
1473 |
1473 self.ui.write("\n }") |
1474 self.ui.write("\n }") |
1474 |
1475 |
1475 class changeset_templater(changeset_printer): |
1476 class changeset_templater(changeset_printer): |
1476 '''format changeset information.''' |
1477 '''format changeset information.''' |