def is_feature_branch(self, branch_name):
<EOL>if branch_name == self.default_revision:<EOL><INDENT>return False<EOL><DEDENT>elif branch_name not in self.branches:<EOL><INDENT>return False<EOL><DEDENT>elif self.release_scheme == '<STR_LIT>' and branch_name in self.release_branches:<EOL><INDENT>return False<EOL><DEDENT>else:<EOL><INDENT>return True<EOL><DEDENT>
Try to determine whether a branch name refers to a feature branch.

:param branch_name: The name of a branch (a string).
:returns: :data:`True` if the branch name appears to refer to a feature
          branch, :data:`False` otherwise.

This method is used by :func:`merge_up()` to determine whether the
feature branch that was merged should be deleted or closed.

If the branch name matches :attr:`default_revision` or one of the
branch names of the :attr:`releases` then it is not considered a
feature branch, which means it won't be closed.