Show More
@@ -203,8 +203,16 b' def dorecord(ui, repo, commitfunc, cmdsu' | |||
|
203 | 203 | finally: |
|
204 | 204 | # 5. finally restore backed-up files |
|
205 | 205 | try: |
|
206 | dirstate = repo.dirstate | |
|
206 | 207 | for realname, tmpname in backups.iteritems(): |
|
207 | 208 | ui.debug('restoring %r to %r\n' % (tmpname, realname)) |
|
209 | ||
|
210 | if dirstate[realname] == 'n': | |
|
211 | # without normallookup, restoring timestamp | |
|
212 | # may cause partially committed files | |
|
213 | # to be treated as unmodified | |
|
214 | dirstate.normallookup(realname) | |
|
215 | ||
|
208 | 216 | util.copyfile(tmpname, repo.wjoin(realname)) |
|
209 | 217 | # Our calls to copystat() here and above are a |
|
210 | 218 | # hack to trick any editors that have f open that |
@@ -1381,6 +1381,8 b' Ignore win32text deprecation warning for' | |||
|
1381 | 1381 | record this change to 'subdir/f1'? [Ynesfdaq?] y |
|
1382 | 1382 | |
|
1383 | 1383 | |
|
1384 | $ hg status -A subdir/f1 | |
|
1385 | C subdir/f1 | |
|
1384 | 1386 | $ hg tip -p |
|
1385 | 1387 | changeset: 28:* (glob) |
|
1386 | 1388 | tag: tip |
@@ -1417,6 +1419,8 b' Test --user when ui.username not set' | |||
|
1417 | 1419 | +e |
|
1418 | 1420 | record this change to 'subdir/f1'? [Ynesfdaq?] y |
|
1419 | 1421 | |
|
1422 | $ hg status -A subdir/f1 | |
|
1423 | C subdir/f1 | |
|
1420 | 1424 | $ hg log --template '{author}\n' -l 1 |
|
1421 | 1425 | xyz |
|
1422 | 1426 | $ HGUSER="test" |
@@ -1426,7 +1430,7 b' Test --user when ui.username not set' | |||
|
1426 | 1430 | Moving files |
|
1427 | 1431 | |
|
1428 | 1432 | $ hg update -C . |
|
1429 |
|
|
|
1433 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
1430 | 1434 | $ hg mv plain plain3 |
|
1431 | 1435 | $ echo somechange >> plain3 |
|
1432 | 1436 | $ hg commit -i -d '23 0' -mmoving_files << EOF |
@@ -1447,6 +1451,8 b' Moving files' | |||
|
1447 | 1451 | record this change to 'plain3'? [Ynesfdaq?] y |
|
1448 | 1452 | |
|
1449 | 1453 | The #if execbit block above changes the hash here on some systems |
|
1454 | $ hg status -A plain3 | |
|
1455 | C plain3 | |
|
1450 | 1456 | $ hg tip |
|
1451 | 1457 | changeset: 30:* (glob) |
|
1452 | 1458 | tag: tip |
@@ -1526,3 +1532,98 b' The #if execbit block above changes the ' | |||
|
1526 | 1532 | +foo |
|
1527 | 1533 | |
|
1528 | 1534 | $ cd .. |
|
1535 | ||
|
1536 | $ hg status -A folder/bar | |
|
1537 | C folder/bar | |
|
1538 | ||
|
1539 | Clear win32text configuration before size/timestamp sensitive test | |
|
1540 | ||
|
1541 | $ cat >> .hg/hgrc <<EOF | |
|
1542 | > [extensions] | |
|
1543 | > win32text = ! | |
|
1544 | > [decode] | |
|
1545 | > ** = ! | |
|
1546 | > [encode] | |
|
1547 | > ** = ! | |
|
1548 | > [patch] | |
|
1549 | > eol = strict | |
|
1550 | > EOF | |
|
1551 | $ hg update -q -C null | |
|
1552 | $ hg update -q -C tip | |
|
1553 | ||
|
1554 | Test that partially committed file is still treated as "modified", | |
|
1555 | even if none of mode, size and timestamp is changed on the filesystem | |
|
1556 | (see also issue4583). | |
|
1557 | ||
|
1558 | $ cat > subdir/f1 <<EOF | |
|
1559 | > A | |
|
1560 | > a | |
|
1561 | > a | |
|
1562 | > b | |
|
1563 | > c | |
|
1564 | > d | |
|
1565 | > E | |
|
1566 | > EOF | |
|
1567 | $ hg diff --git subdir/f1 | |
|
1568 | diff --git a/subdir/f1 b/subdir/f1 | |
|
1569 | --- a/subdir/f1 | |
|
1570 | +++ b/subdir/f1 | |
|
1571 | @@ -1,7 +1,7 @@ | |
|
1572 | -a | |
|
1573 | +A | |
|
1574 | a | |
|
1575 | a | |
|
1576 | b | |
|
1577 | c | |
|
1578 | d | |
|
1579 | -e | |
|
1580 | +E | |
|
1581 | ||
|
1582 | $ touch -t 200001010000 subdir/f1 | |
|
1583 | ||
|
1584 | $ cat >> .hg/hgrc <<EOF | |
|
1585 | > # emulate invoking patch.internalpatch() at 2000-01-01 00:00 | |
|
1586 | > [fakepatchtime] | |
|
1587 | > fakenow = 200001010000 | |
|
1588 | > | |
|
1589 | > [extensions] | |
|
1590 | > fakepatchtime = $TESTDIR/fakepatchtime.py | |
|
1591 | > EOF | |
|
1592 | $ hg commit -i -m 'commit subdir/f1 partially' <<EOF | |
|
1593 | > y | |
|
1594 | > y | |
|
1595 | > n | |
|
1596 | > EOF | |
|
1597 | diff --git a/subdir/f1 b/subdir/f1 | |
|
1598 | 2 hunks, 2 lines changed | |
|
1599 | examine changes to 'subdir/f1'? [Ynesfdaq?] y | |
|
1600 | ||
|
1601 | @@ -1,6 +1,6 @@ | |
|
1602 | -a | |
|
1603 | +A | |
|
1604 | a | |
|
1605 | a | |
|
1606 | b | |
|
1607 | c | |
|
1608 | d | |
|
1609 | record change 1/2 to 'subdir/f1'? [Ynesfdaq?] y | |
|
1610 | ||
|
1611 | @@ -2,6 +2,6 @@ | |
|
1612 | a | |
|
1613 | a | |
|
1614 | b | |
|
1615 | c | |
|
1616 | d | |
|
1617 | -e | |
|
1618 | +E | |
|
1619 | record change 2/2 to 'subdir/f1'? [Ynesfdaq?] n | |
|
1620 | ||
|
1621 | $ cat >> .hg/hgrc <<EOF | |
|
1622 | > [extensions] | |
|
1623 | > fakepatchtime = ! | |
|
1624 | > EOF | |
|
1625 | ||
|
1626 | $ hg debugstate | grep ' subdir/f1$' | |
|
1627 | n 0 -1 unset subdir/f1 | |
|
1628 | $ hg status -A subdir/f1 | |
|
1629 | M subdir/f1 |
General Comments 0
You need to be logged in to leave comments.
Login now