Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matthew-brett/gitwash
Workflow using git
https://github.com/matthew-brett/gitwash
Last synced: 2 months ago
JSON representation
Workflow using git
- Host: GitHub
- URL: https://github.com/matthew-brett/gitwash
- Owner: matthew-brett
- License: other
- Created: 2010-04-24T17:52:12.000Z (over 14 years ago)
- Default Branch: main
- Last Pushed: 2022-08-15T09:10:30.000Z (over 2 years ago)
- Last Synced: 2024-06-12T18:27:30.532Z (7 months ago)
- Language: Python
- Homepage:
- Size: 245 KB
- Stars: 48
- Watchers: 9
- Forks: 18
- Open Issues: 5
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- awesome_ai_agents - Gitwash - Workflow using git (Building / Workflows)
README
.. -*- rest -*-
.. vim:syntax=rst=========
Gitwash
=========A set of documents and an example repository to describe starting with
github and a git workflow.Our idea is that many projects may have the same workflow, more or less.
Each project needs docs that have exact project-specific command lines
for use with git and github.It seems a shame to type all this out for every project, when a lot of
it is the same.Gitwash is one way of solving this problem.
* You can build the gitwash documents directly to review your workflow.
* The documents designed for re-use in different projects are in the
``gitwash`` subdirectory.
* In these documents, we've encoded the various strings you will want to
replace with strings in ALL CAPS. The ``PROJECTNAME`` is the name of
the project as it appears in text - for example ``IPython``.
``REPONAME`` is the name of the repository (e.g ``ipython``), and
``MAIN_GH_USER`` is the main github user (the user for the central
github repository - or the name of the github "organization"). This
results in links to your project repository of the form
``github.com/MAIN_GH_USER/REPONAME.git``.
* The script ``gitwash_dumper.py`` will checkout the gitwash repository,
do a search and replace on these strings and replace them with the
ones you want, and then output these into your own docs in a place
that you choose. You might want a copy of this tool somewhere in your
repository. You can refresh it from time to time with::curl -O https://raw.githubusercontent.com/matthew-brett/gitwash/main/gitwash_dumper.py
For IPython, ``PROJECTNAME`` is 'IPython', ``REPONAME`` is 'ipython', and the
``MAIN_GH_USER`` is also 'ipython'. An example command for *ipython* might
then be::gitwash_dumper.py doc/devel IPython --repo-name=ipython --github-user=ipython \
--project-url=https://ipython.org \
--project-ml-url=https://mail.scipy.org/mailman/listinfo/IPython-devto dump the search / replaced docs into the ``doc/devel/gitwash``
directory.
* In the command above you'll notice that you also have to add your project main
URL with the ``--project-url`` option, and the mailing list URL with the
``--project-ml-url`` option. That is the standard way to add your own links
into the documentation.
* You might want to have a Makefile target to update gitwash
automatically from the sources. For example, in the *nipy* docs
Makefile, we have::gitwash-update:
python ../tools/gitwash_dumper.py devel/guidelines nipy \
--project-url=https://nipy.org/ \
--project-ml-url=https://mail.scipy.org/mailman/listinfo/nipy-develThere's an example build of gitwash at
https://matthew-brett.github.io/pydagogue/gitwash_build.html