From patchwork Fri Oct 4 22:10:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pratyush Yadav X-Patchwork-Id: 11175399 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7CC5B15AB for ; Fri, 4 Oct 2019 22:10:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5AA0821D81 for ; Fri, 4 Oct 2019 22:10:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731201AbfJDWK6 (ORCPT ); Fri, 4 Oct 2019 18:10:58 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:37357 "EHLO relay2-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730814AbfJDWK6 (ORCPT ); Fri, 4 Oct 2019 18:10:58 -0400 X-Originating-IP: 1.186.12.44 Received: from localhost.localdomain (unknown [1.186.12.44]) (Authenticated sender: me@yadavpratyush.com) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 207FC40002; Fri, 4 Oct 2019 22:10:54 +0000 (UTC) From: Pratyush Yadav To: Cc: Johannes Schindelin , Bert Wesarg Subject: [PATCH] git-gui: add a readme Date: Sat, 5 Oct 2019 03:40:52 +0530 Message-Id: <20191004221052.23313-1-me@yadavpratyush.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org 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 --- I don't have much experience writing this kind of readme or documentation, so comments are appreciated. Please feel free to chime in with suggestions and things that can also be added. README.md | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 README.md -- 2.21.0 diff --git a/README.md b/README.md new file mode 100644 index 0000000..d76122d --- /dev/null +++ b/README.md @@ -0,0 +1,128 @@ +# 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 +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 + +Most of Git Gui is written in Tcl, so there is not much compilation involved. +Still, some things do need to be done, 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`. + +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 changes, and re-send your patch(es) in reply to the first patch of +your initial version. Also please mention the version of the patch. This can be +done by passing `-v X` to `git-format-patch`, where 'X' is the version number +of the patch(es). + +### Using git-send-email + +You can use `git-send-email` to send patches via email. A pretty good guide to +configuring and using `git-send-email` can be found +[here](https://www.freedesktop.org/wiki/Software/PulseAudio/HowToUseGitSendEmail/) + +### Using your email client + +If your email client supports sending mbox format emails, you can use +`git-format-patch` to get an mbox file for each commit, and then send them. If +there is more than one patch in the series, then all patches after the first +patch (or the cover letter) need to be sent as replies to the first. +`git-send-email` does this by default. + +### Using GitGitGadget + +Since some people prefer a GitHub pull request based workflow, they can use +[GitGitGadget](https://gitgitgadget.github.io/) to send in patches. The tool +was originally written for sending patches to the Git project, but it now also +supports sending patches for git-gui. + +Instructions for using GitGitGadget to send git-gui patches, courtesy of +Johannes Schindelin: + +If you don't already have a fork of the [git/git](https://github.com/git/git) +repo, you need to make one. Then clone your fork: + +``` +git clone https://github.com//git +``` + +Then add GitGitGadget as a remote: + +``` +git remote add gitgitgadget https://github.com/gitgitgadget/git +``` + +Then fetch the git-gui branch: + +``` +git fetch gitgitgadget git-gui/master +``` + +Then create a new branch based on git-gui/master: + +``` +git checkout -b git-gui/master +``` + +Make whatever commits you need to, push them to your fork, and then head over +to https://github.com/gitgitgadget/git/pulls and open a Pull Request targeting +git-gui/master. + +GitGitGadget will welcome you with a (hopefully) helpful message. + +## Signing off + +You need to sign off your commits before sending them to the list. You can do +that by passing the `-s` option to `git-commit`. You can also use the "Sign +Off" option in Git Gui. + +A sign-off is a simple 'Signed-off-by: A U Thor \' line at +the end of the commit message, after your explanation of the commit. + +A sign-off means that you are legally allowed to send the code, and it serves +as a certificate of origin. More information can be found at +[developercertificate.org](https://developercertificate.org/).