We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
`dvc status` print something even if project is just initialized
Empty outputs look like a bug

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `dvc/command/status.py`
Content:
```
1 from dvc.command.data_sync import CmdDataBase
2 
3 
4 class CmdDataStatus(CmdDataBase):
5     STATUS_LEN = 10
6     STATUS_INDENT = '\t'
7 
8     def _normalize(self, s):
9         s += ':'
10         assert len(s) < self.STATUS_LEN
11         return s + (self.STATUS_LEN - len(s))*' '
12 
13     def _show(self, status, indent=0):
14         ind = indent * self.STATUS_INDENT
15 
16         for key, value in status.items():
17             if isinstance(value, dict):
18                 self.project.logger.info('{}{}'.format(ind, key))
19                 self._show(value, indent+1)
20             else:
21                 msg = '{}{}{}'.format(ind, self._normalize(value), key)
22                 self.project.logger.info(msg)
23 
24     def do_run(self, target=None):
25         indent = 1 if self.args.cloud else 0
26         try:
27             st = self.project.status(target=target,
28                                      jobs=self.args.jobs,
29                                      cloud=self.args.cloud,
30                                      show_checksums=self.args.show_checksums,
31                                      remote=self.args.remote)
32             self._show(st, indent)
33         except Exception as exc:
34             self.project.logger.error('Failed to obtain data status', exc)
35             return 1
36         return 0
37
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/dvc/command/status.py b/dvc/command/status.py
--- a/dvc/command/status.py
+++ b/dvc/command/status.py
@@ -29,7 +29,11 @@
                                      cloud=self.args.cloud,
                                      show_checksums=self.args.show_checksums,
                                      remote=self.args.remote)
-            self._show(st, indent)
+            if st:
+                self._show(st, indent)
+            else:
+                self.project.logger.info("Nothing to reproduce. "
+                                         "Pipeline is up to date.")
         except Exception as exc:
             self.project.logger.error('Failed to obtain data status', exc)
             return 1

{"golden_diff": "diff --git a/dvc/command/status.py b/dvc/command/status.py\n--- a/dvc/command/status.py\n+++ b/dvc/command/status.py\n@@ -29,7 +29,11 @@\n                                      cloud=self.args.cloud,\n                                      show_checksums=self.args.show_checksums,\n                                      remote=self.args.remote)\n-            self._show(st, indent)\n+            if st:\n+                self._show(st, indent)\n+            else:\n+                self.project.logger.info(\"Nothing to reproduce. \"\n+                                         \"Pipeline is up to date.\")\n         except Exception as exc:\n             self.project.logger.error('Failed to obtain data status', exc)\n             return 1\n", "issue": "`dvc status` print something even if project is just initialized\nEmpty outputs look like a bug\n", "before_files": [{"content": "from dvc.command.data_sync import CmdDataBase\n\n\nclass CmdDataStatus(CmdDataBase):\n    STATUS_LEN = 10\n    STATUS_INDENT = '\\t'\n\n    def _normalize(self, s):\n        s += ':'\n        assert len(s) < self.STATUS_LEN\n        return s + (self.STATUS_LEN - len(s))*' '\n\n    def _show(self, status, indent=0):\n        ind = indent * self.STATUS_INDENT\n\n        for key, value in status.items():\n            if isinstance(value, dict):\n                self.project.logger.info('{}{}'.format(ind, key))\n                self._show(value, indent+1)\n            else:\n                msg = '{}{}{}'.format(ind, self._normalize(value), key)\n                self.project.logger.info(msg)\n\n    def do_run(self, target=None):\n        indent = 1 if self.args.cloud else 0\n        try:\n            st = self.project.status(target=target,\n                                     jobs=self.args.jobs,\n                                     cloud=self.args.cloud,\n                                     show_checksums=self.args.show_checksums,\n                                     remote=self.args.remote)\n            self._show(st, indent)\n        except Exception as exc:\n            self.project.logger.error('Failed to obtain data status', exc)\n            return 1\n        return 0\n", "path": "dvc/command/status.py"}], "after_files": [{"content": "from dvc.command.data_sync import CmdDataBase\n\n\nclass CmdDataStatus(CmdDataBase):\n    STATUS_LEN = 10\n    STATUS_INDENT = '\\t'\n\n    def _normalize(self, s):\n        s += ':'\n        assert len(s) < self.STATUS_LEN\n        return s + (self.STATUS_LEN - len(s))*' '\n\n    def _show(self, status, indent=0):\n        ind = indent * self.STATUS_INDENT\n\n        for key, value in status.items():\n            if isinstance(value, dict):\n                self.project.logger.info('{}{}'.format(ind, key))\n                self._show(value, indent+1)\n            else:\n                msg = '{}{}{}'.format(ind, self._normalize(value), key)\n                self.project.logger.info(msg)\n\n    def do_run(self, target=None):\n        indent = 1 if self.args.cloud else 0\n        try:\n            st = self.project.status(target=target,\n                                     jobs=self.args.jobs,\n                                     cloud=self.args.cloud,\n                                     show_checksums=self.args.show_checksums,\n                                     remote=self.args.remote)\n            if st:\n                self._show(st, indent)\n            else:\n                self.project.logger.info(\"Nothing to reproduce. \"\n                                         \"Pipeline is up to date.\")\n        except Exception as exc:\n            self.project.logger.error('Failed to obtain data status', exc)\n            return 1\n        return 0\n", "path": "dvc/command/status.py"}]}