tests/test-check-commit.t
author Kyle Lippincott <spectral@google.com>
Wed, 15 Aug 2018 17:40:21 -0700
changeset 39164 95bd19f60957
parent 37816 33817e09c663
permissions -rw-r--r--
overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960) If there was a metadata-only mutation, such as +x or -x on a file, we would create a cache entry with None for data, and this would cause problems later on when some code tried to run fctx.data() or similar, and was expecting a string. My original fix for this involved passing data=self._wrappedctx[path].data() in setflags(), but this version seems slightly better - this way, if we ever call write() and then call setflags(), we don't destroy the data that we wrote that's in the cache. I haven't verified that other fields aren't destroyed, such as date or flags :) Differential Revision: https://phab.mercurial-scm.org/D4287
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22067
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     1
#require test-repo
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     2
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     3
Enable obsolescence to avoid the warning issue when obsmarker are found
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     4
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 28293
diff changeset
     5
  $ . "$TESTDIR/helpers-testrepo.sh"
22067
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     6
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     7
Go back in the hg repo
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     8
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     9
  $ cd $TESTDIR/..
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    10
37816
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    11
  $ REVSET='not public() and ::. and not desc("# no-check-commit")'
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    12
37687
8872d46643b6 test-check-commit: don't run hg per commit
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    13
  $ mkdir "$TESTTMP/p"
37816
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    14
  $ REVS=`testrepohg log -r "$REVSET" -T.`
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    15
  $ if [ -n "$REVS" ] ; then
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    16
  >   testrepohg export --git -o "$TESTTMP/p/%n-%h" -r "$REVSET"
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    17
  >   for f in `ls "$TESTTMP/p"`; do
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    18
  >      contrib/check-commit < "$TESTTMP/p/$f" > "$TESTTMP/check-commit.out"
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    19
  >      if [ $? -ne 0 ]; then
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    20
  >          node="${f##*-}"
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    21
  >          echo "Revision $node does not comply with rules"
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    22
  >          echo '------------------------------------------------------'
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    23
  >          cat ${TESTTMP}/check-commit.out
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    24
  >          echo
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    25
  >     fi
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    26
  >   done
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    27
  > fi