view tests/test-topic-shell-prompt.t @ 5917:94aed9c7ce69 stable

next: refactor two if blocks into an if-elif block We already checked the value of `needevolve and opts['evolve']` in the first if block above. In the first one it need to be True, in the second it needs to be False for the statements to execute. Since not(a or b) = not a and not b, we can join the second if block to the first one with an elif while dropping the explicit check. For me, this works better, because we're doing the same thing in both of these blocks (checking if working copy is dirty or not).
author Anton Shestakov <av6@dwimlabs.net>
date Sat, 15 May 2021 20:40:19 +0800
parents ce5ebd9c859b
children
line wrap: on
line source

  $ . $TESTDIR/testlib/topic_setup.sh

Code logically equivalent to the following is used in Zsh to show the branch
and topic (if set) in the prompt. If the format of the files is changed in a
way that it breaks the test, a mail should be sent to zsh-workers@zsh.org.

  $ get_branch_like_zsh() {
  >     branchfile=".hg/branch"
  >     topicfile=".hg/topic"
  >     if [ -r "${branchfile}" ] ; then
  >         r_branch=$(cat "${branchfile}")
  >     fi
  >     if [ -f "${topicfile}" ] && [ -r "${topicfile}" ] && [ -s "${topicfile}" ] ; then
  >         IFS= read -r REPLY < ${topicfile}
  >         r_branch=${r_branch}:${REPLY}
  >     fi
  >     echo $r_branch
  > }

  $ hg init
  $ hg branch branch -q
  $ get_branch_like_zsh
  branch
  $ hg topic topic -q
  $ get_branch_like_zsh
  branch:topic
  $ hg topic --clear -q
  $ get_branch_like_zsh
  branch