It is a good idea to have a readme so people finding the project can
know more about it, and know how they can get involved.
Signed-off-by: Pratyush Yadav
---
Changes in v3:
- Reword the first paragraph to avoid some repetition. Suggested by
Junio.
- Do not mention "written in Tcl" in the intro. Suggested by Junio.
- Add a list of dependencies.
Range-diff against v2:
1: 3c8baed ! 1: b82d3ba git-gui: add a readme
@@ -14,12 +14,12 @@
@@
+# Git GUI - A graphical user interface for Git
+
-+Git GUI is a GUI for [Git](https://git-scm.com/) written in Tcl/Tk. It
allows
-+you to use the Git source control management tools via a GUI. This
includes
-+staging, commiting, adding, pushing, etc. It can also be used as a blame
-+viewer, a tree browser, and a citool (make exactly one commit before
exiting
-+and returning to shell). More details about git-gui can be found in its
manual
-+page by either running `man git-gui`, or by visiting the [online manual
++Git GUI allows you to use the [Git source control management
++tools](https://git-scm.com/) via a GUI. This includes staging, commiting,
++adding, pushing, etc. It can also be used as a blame viewer, a tree
browser,
++and a citool (make exactly one commit before exiting and returning to
shell).
++More details about Git GUI can be found in its manual page by either
running
++`man git-gui`, or by visiting the [online manual
+page](https://git-scm.com/docs/git-gui).
+
+Git GUI was initially written by Shawn O. Pearce, and is distributed with
the
@@ -27,6 +27,15 @@
+
+# Building and installing
+
++You need to have the following dependencies installed before you begin:
++
++- Git
++- Tcl
++- Tk
++- wish
++- Gitk (needed for browsing history)
++- msgfmt
++
+Most of Git GUI is written in Tcl, so there is no compilation involved.
Still,
+some things do need to be done (mostly some substitutions), so you do
need to
+"build" it.
README.md | 174 ++
1 file changed, 174 insertions(+)
create mode 100644 README.md
diff --git a/README.md b/README.md
new file mode 100644
index 000..3ee3829
--- /dev/null
+++ b/README.md
@@ -0,0 +1,174 @@
+# Git GUI - A graphical user interface for Git
+
+Git GUI allows you to use the [Git source control management
+tools](https://git-scm.com/) via a GUI. This includes staging, commiting,
+adding, pushing, etc. It can also be used as a blame viewer, a tree browser,
+and a citool (make exactly one commit before exiting and returning to shell).
+More details about Git GUI can be found in its manual page by either running
+`man git-gui`, or by visiting the [online manual
+page](https://git-scm.com/docs/git-gui).
+
+Git GUI was initially written by Shawn O. Pearce, and is distributed with the
+standard Git installation.
+
+# Building and installing
+
+You need to have the following dependencies installed before you begin:
+
+- Git
+- Tcl
+- Tk
+- wish
+- Gitk (needed for browsing history)
+- msgfmt
+
+Most of Git GUI is written in Tcl, so there is no compilation involved. Still,
+some things do need to be done (mostly some substitutions), so you do need to
+"build" it.
+
+You can build Git GUI using:
+
+```
+make
+```
+
+And then install it using:
+
+```
+make install
+```
+
+You probably need to have root/admin permissions to install.
+
+# Contributing
+
+The project is currently maintained by Pratyush Yadav over at
+https://github.com/prati0100/git-gui. Even though the project is hosted at
+GitHub, the development does not happen over GitHub Issues and Pull Requests.
+Instead, an email based workflow is used. The Git mailing list
+[git@vger.kernel.org](mailto:git@vger.kernel.org) is where the patches are
+discussed and reviewed.
+
+More information about the Git mailing list and instructions to subscribe can
+be found [here](https://git.wiki.kernel.org/index.php/GitCommunity).
+
+## Sending your changes
+
+Since the development happens over email, you need to send in your commits in
+text format. Commits can be converted to emails via the two tools provided by
+Git: `git-send-email` and `git-format-patch`.
+
+You can use `git-format-patch` to generate patches in mbox format from your
+commits that can then be sent via email. Let's say you are working on a branch
+called 'foo' that was created on top of 'master'. You can run:
+
+```
+git format-patch -o output_dir master..foo
+```
+
+to convert all the extra commits in 'foo' into a set of patches saved in the
+folder `output_dir`.
+
+If you are sending multiple patches, it is recommended to include a cover
+letter. A cover letter is an email explaining in brief what the series is
+supposed to do. A cover letter template can be generated by passing
+`--cover-letter` to `git-format-patch`.
+
+After you send your patches, you might get a review suggesting some changes.
+Make those c