anon-iclr-submission/benchname-bug-localization huggingface dataset:
Repository: commitizen-tools/commitizen
Issue: pre-commit hook fails on feat! (doesn't allow exclamation point)

## Description
Commits like `feat!: describing my breaking change` fail at the pre-commit hook

## Steps to reproduce
1. Make a breaking change
2. Include the pre-commit hook from the readme in your pre-commit-config.yaml file and install hooks
3. Try to commit with a message like `feat!: breaking change`

## Current behavior
<!-- What happens actually so you think this is a bug. -->
```sh
commitizen check.........................................................Failed
- hook id: commitizen
- exit code: 14

commit validation: failed!
please enter a commit message in the commitizen format.
commit "": "feat!: breaking change"
pattern: (build|ci|docs|feat|fix|perf|refactor|style|test|chore|revert|bump)(\\(\\S+\\))?:(\\s.*)
```

## Desired behavior
Check should pass according to https://www.conventionalcommits.org/en/v1.0.0/ rules

## Environment

- commitizen version: 2.4.1
- python version: 2.7.16
- operating system: Darwin


Changed files:
tests/commands/test_check_command.py, commitizen/cz/conventional_commits/conventional_commits.py

diff --git a/commitizen/cz/conventional_commits/conventional_commits.py b/commitizen/cz/conventional_commits/conventional_commits.py
index ba297f8c..7d5c2757 100644
--- a/commitizen/cz/conventional_commits/conventional_commits.py
+++ b/commitizen/cz/conventional_commits/conventional_commits.py
@@ -178,7 +178,7 @@ class ConventionalCommitsCz(BaseCommitizen):
 
     def schema_pattern(self) -> str:
         PATTERN = (
-            r"(build|ci|docs|feat|fix|perf|refactor|style|test|chore|revert|bump)"
+            r"(build|ci|docs|feat|fix|perf|refactor|style|test|chore|revert|bump)!?"
             r"(\\(\\S+\\))?:(\\s.*)"
         )
         return PATTERN
diff --git a/tests/commands/test_check_command.py b/tests/commands/test_check_command.py
index 95eb0072..df54c123 100644
--- a/tests/commands/test_check_command.py
+++ b/tests/commands/test_check_command.py
@@ -44,6 +44,7 @@ COMMIT_LOG = [
         'Revert "fix(pre-commit): set pre-commit check stage to commit-msg"\\n'
         "This reverts commit afc70133e4a81344928561fbf3bb20738dfc8a0b."
     ),
+    "feat!: add user stuff",
 ]
Repository: commitizen-tools/commitizen
Issue: "cz init" cannot set pre-commit hook correctly

### Description

After running `cz init` and choosing to use a pre-commit hook, we'll encounter the following error.

```
Failed to install pre-commit hook.
pre-commit is not installed in current environment.
```

### Steps to reproduce

1 Run ` cz init`
2. Choose to use pre-commit

### Current behavior

Failed to setup pre-commit hook


### Desired behavior

Setup pre-commit hook successfully

### Screenshots

<img width="1709" alt="圖片" src="https://github.com/commitizen-tools/commitizen/assets/5144808/a8b31d5d-1b96-4f35-8731-f423d3375941">


### Environment

Commitizen Version: 3.2.1
Python Version: 3.10.6 (main, Sep 14 2022, 23:12:02) [Clang 14.0.0 (clang-1400.0.29.102)]
Operating System: Darwin

Changed files:
commitizen/commands/init.py

diff --git a/commitizen/commands/init.py b/commitizen/commands/init.py
index 08fdadef..351b9100 100644
--- a/commitizen/commands/init.py
+++ b/commitizen/commands/init.py
@@ -4,8 +4,6 @@ from typing import Any, Dict, List, Optional
 
 import questionary
 import yaml
-from packaging.version import Version
-
 from commitizen import cmd, factory, out
 from commitizen.__version__ import __version__
 from commitizen.config import BaseConfig, JsonConfig, TomlConfig, YAMLConfig
@@ -14,6 +12,7 @@ from commitizen.defaults import config_files
 from commitizen.exceptions import InitFailedError, NoAnswersError
 from commitizen.git import get_latest_tag_name, get_tag_names, smart_open
 from commitizen.version_types import VERSION_TYPES
+from packaging.version import Version
 
 
 class ProjectInfo:
@@ -66,7 +65,7 @@ class ProjectInfo:
 
     @property
     def is_pre_commit_installed(self) -> bool:
-        return not shutil.which("pre-commit")
+        return bool(shutil.which("pre-commit"))
 
 
 class Init:
Repository: sfu-db/dataprep
Issue: typo mistake

**Describe the bug**
In the missing values section, there is a typo mistake with the name of the last table, it should be Dendrogram
the r after the second d is missing





Changed files:
dataprep/eda/create_report/formatter.py

diff --git a/dataprep/eda/create_report/formatter.py b/dataprep/eda/create_report/formatter.py
index 5c15d05b..42d05c5c 100644
--- a/dataprep/eda/create_report/formatter.py
+++ b/dataprep/eda/create_report/formatter.py
@@ -217,7 +217,7 @@ def _format_missing(
         res["missing_tabs"] = ["Bar Chart", "Spectrum", "Heat Map"]
         # only display dendrogram when df has more than one column
         if ncols > 1:
-            res["missing_tabs"].append("Dendogram")
+            res["missing_tabs"].append("Dendrogram")
     return res
Repository: sfu-db/dataprep
Issue: Division by zero when reporting on an empty DataFrame

**Describe the bug**
When passing an empty ``DataFrame`` to ``dataprep.eda.create_report``, a ``ZeroDivisionError`` is raised without a clear explanation for the reason.

Especially when one does not realize the ``DataFrame`` is empty, this is a surprising outcome with little in the stacktrace hinting at the underlying problem.

**To Reproduce**
```python
from dataprep.eda import create_report
import pandas

df = pandas.DataFrame()
create_report(df)
```

**Expected behavior**
Either
 - an empty report, possibly with a warning message, or
 - a clear and specific exception being raised.

**Desktop (please complete the following information):**
 - OS: Linux
 - Platform: Python script
 - Python Version 3.8.10
 - Dataprep Version 0.4.2

**Additional context**
I'm happy to implement a fix, if you let me know which the resulting behavior should be.


Changed files:
dataprep/eda/create_report/formatter.py, dataprep/tests/eda/test_create_report.py

diff --git a/dataprep/eda/create_report/formatter.py b/dataprep/eda/create_report/formatter.py
index 852d0468..2c30367b 100644
--- a/dataprep/eda/create_report/formatter.py
+++ b/dataprep/eda/create_report/formatter.py
@@ -70,6 +70,8 @@ def format_report(
         A dictionary in which formatted data will be stored.
         This variable acts like an API in passing data to the template engine.
     """
+    if len(df.index) == 0:
+        return {}
     with ProgressBar(minimum=1, disable=not progress):
         if mode == "basic":
             edaframe = EDAFrame(df)
diff --git a/dataprep/tests/eda/test_create_report.py b/dataprep/tests/eda/test_create_report.py
index e2ba048f..97a53690 100644
--- a/dataprep/tests/eda/test_create_report.py
+++ b/dataprep/tests/eda/test_create_report.py
@@ -107,6 +107,11 @@ def test_random_df(random_df: pd.DataFrame) -> None:
     create_report(random_df)
 
 
+def test_empty() -> None:
+    df = pd.DataFrame()
+    create_report(df)
+
+
 def test_cat_df() -> None:
     df = load_dataset("titanic")
     ddf = df[["Name", "Sex"]]