##// END OF EJS Templates
memctx: fix manifest for removed files (issue4470)...
Augie Fackler -
r23584:db03ed8c default
parent child Browse files
Show More
@@ -1625,9 +1625,10 b' class memctx(committablectx):'
1625
1625
1626 # keep this simple for now; just worry about p1
1626 # keep this simple for now; just worry about p1
1627 pctx = self._parents[0]
1627 pctx = self._parents[0]
1628 pman = pctx.manifest()
1628 man = pctx.manifest().copy()
1629 man = pctx.manifest().copy()
1629
1630
1630 for f, fnode in man.iteritems():
1631 for f, fnode in pman.iteritems():
1631 p1node = nullid
1632 p1node = nullid
1632 p2node = nullid
1633 p2node = nullid
1633 p = pctx[f].parents() # if file isn't in pctx, check p2?
1634 p = pctx[f].parents() # if file isn't in pctx, check p2?
@@ -1635,7 +1636,12 b' class memctx(committablectx):'
1635 p1node = p[0].node()
1636 p1node = p[0].node()
1636 if len(p) > 1:
1637 if len(p) > 1:
1637 p2node = p[1].node()
1638 p2node = p[1].node()
1638 man[f] = revlog.hash(self[f].data(), p1node, p2node)
1639 fctx = self[f]
1640 if fctx is None:
1641 # removed file
1642 del man[f]
1643 else:
1644 man[f] = revlog.hash(fctx.data(), p1node, p2node)
1639
1645
1640 return man
1646 return man
1641
1647
@@ -429,6 +429,67 b' specific template keywords work well'
429 abort: empty commit message
429 abort: empty commit message
430 [255]
430 [255]
431
431
432 prove that we can show a diff of an amend using committemplate:
433
434 $ hg init issue4470
435 $ cd issue4470
436 $ cat >> .hg/hgrc <<EOF
437 > [committemplate]
438 > changeset = {desc}\n\n
439 > HG: {extramsg}
440 > HG: user: {author}\n{ifeq(p2rev, "-1", "",
441 > "HG: branch merge\n")
442 > }HG: branch '{branch}'\n{if(currentbookmark,
443 > "HG: bookmark '{currentbookmark}'\n") }{subrepos %
444 > "HG: subrepo {subrepo}\n" }
445 > {splitlines(diff()) % 'HG: {line}\n'}
446 > EOF
447 $ echo a > a
448 $ echo b > b
449 $ hg addr
450 adding a
451 adding b
452 $ hg ci -m 'init'
453 $ hg rm b
454 $ hg ci -m 'rm b'
455 $ hg export .
456 # HG changeset patch
457 # User test
458 # Date 0 0
459 # Thu Jan 01 00:00:00 1970 +0000
460 # Node ID 88d0ffa85e7a92ccc7c9cc187f9b17858bd206a7
461 # Parent 9118d25c26b1ca5cab5683b02100e7eb2c0d9471
462 rm b
463
464 diff -r 9118d25c26b1 -r 88d0ffa85e7a b
465 --- a/b Thu Jan 01 00:00:00 1970 +0000
466 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
467 @@ -1,1 +0,0 @@
468 -b
469 $ echo a >> a
470 $ HGEDITOR=cat hg commit --amend
471 rm b
472
473
474 HG: Leave message empty to abort commit.
475 HG: user: test
476 HG: branch 'default'
477
478 HG: diff -r 9118d25c26b1 a
479 HG: --- a/a Thu Jan 01 00:00:00 1970 +0000
480 HG: +++ b/a Thu Jan 01 00:00:00 1970 +0000
481 HG: @@ -1,1 +1,2 @@
482 HG: a
483 HG: +a
484 HG: diff -r 9118d25c26b1 b
485 HG: --- a/b Thu Jan 01 00:00:00 1970 +0000
486 HG: +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
487 HG: @@ -1,1 +0,0 @@
488 HG: -b
489 saved backup bundle to $TESTTMP/*/*-amend-backup.hg (glob)
490 $ cd ..
491
492 cleanup
432 $ cat >> .hg/hgrc <<EOF
493 $ cat >> .hg/hgrc <<EOF
433 > # disable customizing for subsequent tests
494 > # disable customizing for subsequent tests
434 > [committemplate]
495 > [committemplate]
General Comments 0
You need to be logged in to leave comments. Login now