{"id":13554476,"url":"https://github.com/git-big-picture/git-big-picture","last_synced_at":"2025-05-14T19:10:22.266Z","repository":{"id":37031205,"uuid":"1487208","full_name":"git-big-picture/git-big-picture","owner":"git-big-picture","description":":octopus: Git — the big picture","archived":false,"fork":false,"pushed_at":"2025-05-09T16:09:43.000Z","size":7654,"stargazers_count":551,"open_issues_count":11,"forks_count":79,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-05-09T17:24:44.603Z","etag":null,"topics":["command-line-tool","git","graphviz","python","python3","svg","version-control","visualization"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/git-big-picture/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/git-big-picture.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2011-03-16T13:27:59.000Z","updated_at":"2025-05-02T18:27:17.000Z","dependencies_parsed_at":"2024-01-05T18:28:57.120Z","dependency_job_id":"7e6de916-5ddd-446a-8017-19400d7e284d","html_url":"https://github.com/git-big-picture/git-big-picture","commit_stats":{"total_commits":894,"total_committers":20,"mean_commits":44.7,"dds":0.6442953020134228,"last_synced_commit":"c6595e979b14fa6b572b13021f39fc608ce1bb0e"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-big-picture%2Fgit-big-picture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-big-picture%2Fgit-big-picture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-big-picture%2Fgit-big-picture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-big-picture%2Fgit-big-picture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/git-big-picture","download_url":"https://codeload.github.com/git-big-picture/git-big-picture/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254209859,"owners_count":22032897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line-tool","git","graphviz","python","python3","svg","version-control","visualization"],"created_at":"2024-08-01T12:02:48.631Z","updated_at":"2025-05-14T19:10:21.077Z","avatar_url":"https://github.com/git-big-picture.png","language":"Python","funding_links":[],"categories":["Python","git"],"sub_categories":[],"readme":".. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\n   :target: https://github.com/pre-commit/pre-commit\n   :alt: pre-commit\n.. image:: https://github.com/git-big-picture/git-big-picture/actions/workflows/run-tests.yml/badge.svg\n   :target: https://github.com/git-big-picture/git-big-picture/actions/workflows/run-tests.yml\n   :alt: Tests\n\n\ngit-big-picture\n===============\n\n``git-big-picture`` is a visualization tool for Git repositories. You can think\nof it as a filter that removes uninteresting commits from a DAG modelling a Git\nrepository and thereby exposes the big picture: for example the hierarchy of\ntags and branches. ``git-big-picture`` supports convenience output options and\ncan filter different classes of commits. It uses the Graphviz utility to render\nimages that are pleasing to the eye.\n\nA Small Example\n---------------\n\nImagine the following Graph:\n\n.. code::\n\n             0.1.1   0.1.2\n               |       |\n    0.0    G---H---I---J---K---L---M maint\n     |    /\n     A---B---C---D---E---F master\n         |    \\         /\n        0.1    N---O---P topic\n\n\nWhere the following commits have Branches and Tags:\n\n.. code::\n\n    A -\u003e 0.0\n    B -\u003e 0.1\n    F -\u003e master\n    H -\u003e 0.1.1\n    J -\u003e 0.1.2\n    M -\u003e maint\n    P -\u003e topic\n\nThe *reduced* graph of *interesting* commits would be:\n\n.. code::\n\n          H---J---M\n         /\n    A---B---F\n         \\ /\n          P\n\nBut since the commits would be labeled with their refs, it would look more like\n(within the limits of ASCII art):\n\n.. code::\n\n          0.1.1---0.1.2---maint\n         /\n    0.0---0.1---master\n            \\     /\n             topic\n\nDemo Video\n----------\n\nChuwei Lu has made a YouTube video showing how to use ``git-big-picture``:\n\nhttps://www.youtube.com/watch?v=H7w7JWSy3oc\n\nScreenshots\n-----------\n\nCourtesy of Graphviz, ``git-big-picture`` can output nice images.\n\nHere is the original repository from the example above:\n\n.. image:: https://raw.github.com/git-big-picture/git-big-picture/master/screenshots/before.png\n    :width:   492px\n    :height: 1043px\n\nAnd here is the reduced version:\n\n.. image:: https://raw.github.com/git-big-picture/git-big-picture/master/screenshots/after.png\n    :width:  280px\n    :height: 456px\n\nWe also have a real world examples from:\n\n* `cython \u003chttps://raw.github.com/git-big-picture/git-big-picture/master/screenshots/cython-big-picture.png\u003e`_\n* `PyMVPA \u003chttps://raw.github.com/git-big-picture/git-big-picture/master/screenshots/pymvpa-big-picture.png\u003e`_\n* `bloscpack \u003chttps://raw.github.com/git-big-picture/git-big-picture/master/screenshots/bloscpack-big-picture.png\u003e`_\n\nDependencies\n------------\n\n* Python \u003e=3.9\n* Git (1.7.1 works)\n* Graphviz utility\n* pytest and Cram (only for running tests)\n\nInstallation\n------------\n\nAs of ``v0.10.1`` you may install it from PyPI:\n\nhttps://pypi.org/project/git-big-picture/\n\n.. code:: console\n\n   $ pip install git-big-picture\n\nAlternatively, just run it straight from a Git clone:\n\n.. code:: console\n\n    $ git clone https://github.com/git-big-picture/git-big-picture.git\n    $ cd git-big-picture\n    $ python3 -m venv venv      # creates a virtualenv\n    $ source venv/bin/activate  # activates the virtualenv\n    $ pip install -e .          # installs to the virtualenv\n    $ git-big-picture --help\n\nAlternatively, use pip to install it system wide\nor just for the user.\n\n.. code:: console\n\n    $ pip install .\n    (may need root privileges)\n    $ pip install --user .\n\nGit Integration\n---------------\n\nAfter installation using pip,\nyou can easily integrate this script as a regular Git command, by making\nsure that executable ``git-big-picture`` is found during ``${PATH}`` lookup.\nE.g. you could append a line like ``export PATH=\"${HOME}/.local/bin:${PATH}\"``\nto your ``~/.bashrc`` if you are using Bash.\n\nYou may then use ``git big-picture`` (w/o the first dash) as you would any other Git command:\n\n.. code:: console\n\n    $ git big-picture -h\n\nOr create an alias:\n\n.. code:: console\n\n    $ git config --global alias.bp big-picture\n    $ git bp -h\n\nInternals\n---------\n\nThe graph operations are written in Python and output the graph-data in the\neasy-to-write Graphviz syntax. This is converted into an image using the\nGraphviz ``dot`` utility. Graphviz supports a multitude of image formats, e.g. SVG\nand PDF. Check that Graphviz is installed by invoking: ``dot -V``.\n\nUsage\n-----\n\n.. code:: console\n\n    $ git-big-picture --help\n    usage: git-big-picture OPTIONS [REPOSITORY]\n\n    Visualize Git repositories\n\n    positional arguments:\n      REPOSITORY            path to the Git working directory\n                            (default: current directory)\n\n    options:\n      -h, --help            show this help message and exit\n      --version             show program's version number and exit\n      --pstats FILE         run cProfile profiler writing pstats output to FILE\n      -d, --debug           activate debug output\n\n    output options:\n      Options to control output and format\n\n      -f, --format FMT      set output format [svg, png, ps, pdf, ...]\n      --history-direction {downwards,leftwards,rightwards,upwards}\n                            enforce a specific direction of history on Graphviz\n                            (default: rightwards)\n      --simplify            remove edges implied by transitivity using Graphviz\n                            filter \"tred\" (default: do not remove implied edges)\n      -g, --graphviz        output lines suitable as input for dot/graphviz\n      -G, --no-graphviz     disable dot/graphviz output\n      -p, --processed       output the dot processed, binary data\n      -P, --no-processed    disable binary output\n      -v, --viewer CMD      write image to tempfile and start specified viewer\n      -V, --no-viewer       disable starting viewer\n      -o, --outfile FILE    write image to specified file\n      -O, --no-outfile      disable writing image to file\n      -w, --wait SECONDS    wait for SECONDS seconds before deleting the temporary\n                            file that is opened using the viewer command (default:\n                            2.0 seconds); this helps e.g. with viewer commands that\n                            tell other running processes to open that file on their\n                            behalf, to then shut themselves down\n\n    filter options:\n      Options to control commit/ref selection\n\n      -a, --all             include all commits\n      -b, --branches        show commits pointed to by branches\n      -B, --no-branches     do not show commits pointed to by branches\n      -t, --tags            show commits pointed to by tags\n      -T, --no-tags         do not show commits pointed to by tags\n      -r, --roots           show root commits\n      -R, --no-roots        do not show root commits\n      -m, --merges          include merge commits\n      -M, --no-merges       do not include merge commits\n      -i, --bifurcations    include bifurcation commits; a bifurcation commit is a\n                            commit that is a parent to more than one other commits,\n                            i.e. it marks the point where one or more new branches\n                            came to life; bifurcation commits can also be thought of\n                            as the counterpart of merge commits\n      -I, --no-bifurcations\n                            do not include bifurcation commits\n      -c, --commit-messages\n                            include commit messages on labels\n      -C, --no-commit-messages\n                            do not include commit messages on labels\n\n    git-big-picture is software libre, licensed under the GPL v3 or later license.\n    Please report bugs at https://github.com/git-big-picture/git-big-picture/issues — thank you!\n\nUsage Examples\n--------------\n\nThere are two related groups of options, the output and the filter options.\nOutput options govern the output and format produced by the tool. Filter\noptions govern which commits to include when calculating the reduced graph.\n\nUsing Output Options\n....................\n\nGenerate PNG version of current Git repository and save to ``our-project.png``:\n\n.. code:: console\n\n    $ git-big-picture -o our-project.png\n\nGenerate SVG (default format) image of the repository in ``~/git-repo`` and view the\nresult in Firefox:\n\n.. code:: console\n\n    $ git-big-picture -v firefox ~/git-repo/\n\nIf you specify the format and a filename with extension, the filename extension will\nbe used:\n\n.. code:: console\n\n    $ git-big-picture -f svg -o our-project.png\n    $ file our-project.png\n    our-project.png: PNG image data, 216 x 325, 8-bit/color RGB, non-interlaced\n\nIf you don't have an extension, you could still specify a format:\n\n.. code:: console\n\n    $ git-big-picture -f pdf -o our-project\n    warning: Filename had no suffix, using format: pdf\n\nOtherwise the default format SVG is used:\n\n.. code:: console\n\n    $ git-big-picture -o our-project\n    warning: Filename had no suffix, using default format: svg\n\nIf you would like to use an alternative viewer, specify viewer and its format:\n\n.. code:: console\n\n    $ git-big-picture -f pdf -v xpdf\n\nYou can also open the viewer automatically on the output file:\n\n.. code:: console\n\n    $ git-big-picture -v xpdf -o our-project.pdf\n\nOutput raw Graphviz syntax:\n\n.. code:: console\n\n    $ git-big-picture -g\n\nOutput raw Graphviz output (i.e. the image):\n\n.. code:: console\n\n    $ git-big-picture -p\n\nNote however, that the options in the two examples above are both mutually\nexclusive and incompatible with other output options.\n\n.. code:: console\n\n    $ git-big-picture -g -p\n    fatal: Options '-g | --graphviz' and '-p | --processed' are mutually exclusive.\n    $ git-big-picture -g -v firefox\n    fatal: Options '-g | --graphviz' and '-p | --processed' are incompatible with other output options.\n\nManually pipe the Graphviz commands to the ``dot`` utility:\n\n.. code:: console\n\n    $ git-big-picture --graphviz ~/git-repo | dot -Tpng -o graph.png\n\nUsing Filter Options\n....................\n\nThe three options ``--branches`` ``--tags`` and ``--roots`` are active by\ndefault. You can use the negation switches to turn them off. These use the\nuppercase equivalent of the short option and the prefix ``no-`` for the long\noption. For example: ``-B | --no-branches`` to deactivate showing branches.\n\nShow all interesting commits, i.e. show also merges and bifurcations:\n\n.. code:: console\n\n    $ git-big-picture -i -m\n\nShow only roots (deactivate branches and tags):\n\n.. code:: console\n\n    $ git-big-picture -B -T\n\nShow merges and branches only (deactivate tags):\n\n.. code:: console\n\n    $ git-big-picture -m -T\n\nShow all commits:\n\n.. code:: console\n\n    $ git-big-picture -a\n\nConfiguration\n-------------\n\nThe standard ``git config`` infrastructure can be used to configure\n``git-big-picture``. Most of the command line arguments can be configured in a\n``big-picture`` section. For example, to configure ``firefox`` as a viewer\n\n.. code:: console\n\n    $ git config --global big-picture.viewer firefox\n\nWill create the following section and entry in your ``~/.gitconfig``:\n\n.. code:: ini\n\n    [big-picture]\n        viewer = firefox\n\n\nThe command line negation arguments can be used to disable a setting configured\nvia the command line. For example, if you have configured the ``viewer`` above\nand try to use the ``-g | --graphviz`` switch, you will get the following\nerror:\n\n.. code:: console\n\n    $ git-big-picture -g\n    fatal: Options '-g | --graphviz' and '-p | --processed' are incompatible with other output options.\n\n... since you already have a viewer configured. In this case, use the negation\noption ``-V | --no-viewer`` to disable the ``viewer`` setting from the config\nfile:\n\n.. code:: console\n\n    $ git-big-picture -g -V\n\n\nDevelopment\n-----------\n\ngit-big-picture uses `pre-commit \u003chttps://pre-commit.com/\u003e`_, both locally and in the CI.\nTo activate the same local pre-commit Git hooks for yourself, you could do:\n\n.. code:: console\n\n    $ pip install pre-commit\n    $ pre-commit install --install-hooks\n\nWhen you do a commit after that, pre-commit will run the checks\nconfigured in file ``.pre-commit-config.yaml``.\n\n\nTesting\n-------\n\nThe Python code is tested with test runner `pytest \u003chttps://pytest.org\u003e`_:\n\n.. code:: console\n\n    $ ./test.py\n\nThe command line interface is tested with `Cram \u003chttps://bitheap.org/cram/\u003e`_:\n\n.. code:: console\n\n    $ PATH=\"venv/bin:${PATH}\" ./test.cram\n\n\nDebugging\n---------\n\nYou can use the ``[-d | --debug]`` switch to debug:\n\n.. code:: console\n\n    $ git-big-picture -d -v firefox\n\nAlthough debugging output is somewhat sparse...\n\n\nProfiling\n---------\n\nThere are two ways to profile git-big-picture, using the built-in ``--pstats``\noption or using the Python module ``cProfile``:\n\nUsing ``--pstats``:\n\n.. code:: console\n\n    $ git-big-picture --pstats=profile-stats -o graph.svg\n\n... will write the profiler output to ``profile-stats``.\n\nProfile the script with ``cProfile``\n\n.. code:: console\n\n    $ python -m cProfile -o profile-stats git-big-picture -o graph.svg\n\nIn either case, you can then use the excellent visualisation tool `gprof2dot\n\u003chttp://code.google.com/p/jrfonseca/wiki/Gprof2Dot\u003e`_ which, incidentally,\nuses Graphviz too:\n\n.. code:: console\n\n    $ gprof2dot -f pstats profile-stats | dot -Tsvg -o profile_stats.svg\n\nChangelog\n---------\n\n* ``v1.3.0`` — 2024-03-08\n\n  * **New Features and Improvements**\n\n    * Make Graphviz output more deterministic (`#398 \u003chttps://github.com/git-big-picture/git-big-picture/pull/398\u003e`_)\n    * Add support for Python 3.11 (`#296 \u003chttps://github.com/git-big-picture/git-big-picture/pull/296\u003e`_)\n    * Add support for Python 3.12 (`#365 \u003chttps://github.com/git-big-picture/git-big-picture/pull/365\u003e`_)\n    * Fix link clickability for help output and man page (`#371 \u003chttps://github.com/git-big-picture/git-big-picture/pull/371\u003e`_)\n    * ``README.rst``: Make screenshot dimensions match reality (`#399 \u003chttps://github.com/git-big-picture/git-big-picture/pull/399\u003e`_)\n\n  * **Dropped Features**\n\n    * Drop support for end-of-life Python 3.7 (`#335 \u003chttps://github.com/git-big-picture/git-big-picture/pull/335\u003e`_)\n\n* ``v1.2.2`` — 2022-09-27\n\n  * **Under the Hood**\n\n    * Fix cram tests for grep \u003e=3.8 (`#233 \u003chttps://github.com/git-big-picture/git-big-picture/pull/233\u003e`_)\n\n* ``v1.2.1`` — 2022-03-26\n\n  * **Bugs Fixed**\n\n    * Fix output with argument ``--processed`` (`#197 \u003chttps://github.com/git-big-picture/git-big-picture/issues/197\u003e`_, `#199 \u003chttps://github.com/git-big-picture/git-big-picture/pull/199\u003e`_)\n\n* ``v1.2.0`` — 2022-03-01\n\n  * **New Features and Improvements**\n\n    * Add argument ``--simplify`` to removed edges implied by transitivity based on Graphviz filter ``tred``\n      (`#180 \u003chttps://github.com/git-big-picture/git-big-picture/issues/180\u003e`_, `#182 \u003chttps://github.com/git-big-picture/git-big-picture/pull/182\u003e`_)\n    * Switch default history direction from upwards to rightwards\n      (`#184 \u003chttps://github.com/git-big-picture/git-big-picture/pull/184\u003e`_)\n    * Add support for Python 3.10 (`#162 \u003chttps://github.com/git-big-picture/git-big-picture/pull/162\u003e`_)\n    * Use ``python3`` rather than ``python`` in Cram tests (`#89 \u003chttps://github.com/git-big-picture/git-big-picture/pull/89\u003e`_)\n\n  * **Dropped Features**\n\n    * Drop support for end-of-life Python 3.6 (`#162 \u003chttps://github.com/git-big-picture/git-big-picture/pull/162\u003e`_)\n\n* ``v1.1.1`` — 2021-01-20\n\n  * **Bugs Fixed**\n\n    * Fix version number in man page (`#86 \u003chttps://github.com/git-big-picture/git-big-picture/pull/86\u003e`_)\n\n  * **Under the Hood**\n\n    * Move Git user setup into Cram tests (to make them work better outside of CI) (`#85 \u003chttps://github.com/git-big-picture/git-big-picture/pull/85\u003e`_)\n    * Extend changelog + release 1.1.1 (`#87 \u003chttps://github.com/git-big-picture/git-big-picture/pull/87\u003e`_)\n\n* ``v1.1.0`` — 2021-01-20\n\n  * **New Features and Improvements**\n\n    * Add manpage from Debian package (`#79 \u003chttps://github.com/git-big-picture/git-big-picture/pull/79\u003e`_)\n    * Improve ``--help`` output (`#80 \u003chttps://github.com/git-big-picture/git-big-picture/pull/80\u003e`_)\n    * Document the meaning of term \"bifurcation commit\" (`#80 \u003chttps://github.com/git-big-picture/git-big-picture/pull/80\u003e`_, `#84 \u003chttps://github.com/git-big-picture/git-big-picture/issues/84\u003e`_)\n\n  * **Under the Hood**\n\n    * Remove TODOs from README (`#77 \u003chttps://github.com/git-big-picture/git-big-picture/issues/77\u003e`_, `#78 \u003chttps://github.com/git-big-picture/git-big-picture/pull/78\u003e`_)\n    * Make CI prevent copies of ``--help`` output from going out-of-sync (`#80 \u003chttps://github.com/git-big-picture/git-big-picture/pull/80\u003e`_)\n    * Extend changelog + release 1.1.0 (`#81 \u003chttps://github.com/git-big-picture/git-big-picture/pull/81\u003e`_)\n    * Migrate back to Cram (`#82 \u003chttps://github.com/git-big-picture/git-big-picture/pull/82\u003e`_)\n    * Extend .gitignore (`#83 \u003chttps://github.com/git-big-picture/git-big-picture/pull/83\u003e`_)\n\n* ``v1.0.0`` — 2021-01-13\n\n  * **Security Fixes**\n\n    * `CVE-2021-3028 \u003chttps://cve.mitre.org/cgi-bin/cvename.cgi?name=2021-3028\u003e`_\n      — Fix local code execution through attacker controlled branch names (`#62 \u003chttps://github.com/git-big-picture/git-big-picture/pull/62\u003e`_)\n\n  * **New Features and Improvements**\n\n    * Re-joined forces and moved https://github.com/esc/git-big-picture to new org home https://github.com/git-big-picture/git-big-picture\n    * Support history directions other than upwards (`#35 \u003chttps://github.com/git-big-picture/git-big-picture/pull/35\u003e`_, `#36 \u003chttps://github.com/git-big-picture/git-big-picture/issues/36\u003e`_, `#59 \u003chttps://github.com/git-big-picture/git-big-picture/pull/59\u003e`_)\n    * Allow including commit messages in node labels (`#16 \u003chttps://github.com/git-big-picture/git-big-picture/issues/16\u003e`_, `#31 \u003chttps://github.com/git-big-picture/git-big-picture/pull/31\u003e`_, `#32 \u003chttps://github.com/git-big-picture/git-big-picture/pull/32\u003e`_)\n    * Support ``python -m git_big_picture`` (`#58 \u003chttps://github.com/git-big-picture/git-big-picture/pull/58\u003e`_)\n    * Improved ``--help`` output (`#54 \u003chttps://github.com/git-big-picture/git-big-picture/pull/54\u003e`_)\n    * Improve tempfile prefix (`#68 \u003chttps://github.com/git-big-picture/git-big-picture/pull/68\u003e`_)\n    * Add support for Python 3.8 and 3.9 (`#42 \u003chttps://github.com/git-big-picture/git-big-picture/pull/42\u003e`_)\n\n  * **Dropped Features**\n\n    * Drop support for end-of-life versions of Python (2.7, 3.4, 3.5) (`#38 \u003chttps://github.com/git-big-picture/git-big-picture/pull/38\u003e`_)\n\n  * **Bugs Fixed**\n\n    * Handle ``Ctrl+C`` gracefully (`#70 \u003chttps://github.com/git-big-picture/git-big-picture/pull/70\u003e`_)\n    * Stop leaving temp files behind (`#25 \u003chttps://github.com/git-big-picture/git-big-picture/pull/25\u003e`_, `#49 \u003chttps://github.com/git-big-picture/git-big-picture/pull/49\u003e`_)\n    * Be robust with regard to branch names that contain quotation marks (`#27 \u003chttps://github.com/git-big-picture/git-big-picture/pull/27\u003e`_, `#62 \u003chttps://github.com/git-big-picture/git-big-picture/pull/62\u003e`_)\n    * ``readme``: Fix a typo and word casing (`#43 \u003chttps://github.com/git-big-picture/git-big-picture/pull/43\u003e`_)\n    * Fix typo \"piture\" (`#51 \u003chttps://github.com/git-big-picture/git-big-picture/pull/51\u003e`_)\n\n  * **Under the Hood**\n\n    * screenshots: Reduce image size using lossless `zopflipng \u003chttps://github.com/google/zopfli/blob/master/README.zopflipng\u003e`_ 1.0.3 (`#39 \u003chttps://github.com/git-big-picture/git-big-picture/pull/39\u003e`_)\n    * Apply move of Git repository to all URLs but Travis CI (`#40 \u003chttps://github.com/git-big-picture/git-big-picture/pull/40\u003e`_)\n    * Replace Travis CI by GitHub Actions (`#41 \u003chttps://github.com/git-big-picture/git-big-picture/pull/41\u003e`_)\n    * Make CI cover support for macOS (`#44 \u003chttps://github.com/git-big-picture/git-big-picture/pull/44\u003e`_)\n    * Make GitHub Dependabot keep our GitHub Actions up to date (`#45 \u003chttps://github.com/git-big-picture/git-big-picture/pull/45\u003e`_, `#46 \u003chttps://github.com/git-big-picture/git-big-picture/pull/46\u003e`_)\n    * Integrate `pre-commit \u003chttps://pre-commit.com/\u003e`_ for dev and CI (`#47 \u003chttps://github.com/git-big-picture/git-big-picture/pull/47\u003e`_, `#53 \u003chttps://github.com/git-big-picture/git-big-picture/pull/53\u003e`_, `#55 \u003chttps://github.com/git-big-picture/git-big-picture/pull/55\u003e`_)\n    * For safety, stop using ``shlex.split`` (outside of tests) (`#48 \u003chttps://github.com/git-big-picture/git-big-picture/pull/48\u003e`_, `#65 \u003chttps://github.com/git-big-picture/git-big-picture/pull/65\u003e`_)\n    * Migrate from unmaintained Cram to maintained Scruf (`#50 \u003chttps://github.com/git-big-picture/git-big-picture/pull/50\u003e`_, `#64 \u003chttps://github.com/git-big-picture/git-big-picture/pull/64\u003e`_)\n    * Delete empty ``requirements.txt`` (`#52 \u003chttps://github.com/git-big-picture/git-big-picture/pull/52\u003e`_)\n    * Migrate from optparse to argparse (`#54 \u003chttps://github.com/git-big-picture/git-big-picture/pull/54\u003e`_)\n    * Fix variable mix-up (`#57 \u003chttps://github.com/git-big-picture/git-big-picture/pull/57\u003e`_)\n    * Start using standard setuptools entry point (`#58 \u003chttps://github.com/git-big-picture/git-big-picture/pull/58\u003e`_)\n    * Address dead test code (`#60 \u003chttps://github.com/git-big-picture/git-big-picture/pull/60\u003e`_)\n    * Start measuring code coverage (`#61 \u003chttps://github.com/git-big-picture/git-big-picture/pull/61\u003e`_)\n    * Replace nose by pytest for a test runner (`#63 \u003chttps://github.com/git-big-picture/git-big-picture/issues/63\u003e`_, `#67 \u003chttps://github.com/git-big-picture/git-big-picture/pull/67\u003e`_)\n    * Start auto-formatting using `yapf \u003chttps://github.com/google/yapf\u003e`_ (`#66 \u003chttps://github.com/git-big-picture/git-big-picture/issues/66\u003e`_)\n    * ``setup.py``: Replace ASCII \"--\" with \"—\" (em dash) in description (`#69 \u003chttps://github.com/git-big-picture/git-big-picture/pull/69\u003e`_)\n    * ``Readme``: Improve section on people involved (`#71 \u003chttps://github.com/git-big-picture/git-big-picture/pull/71\u003e`_)\n    * tests: Cover option precedence on the command line (`#72 \u003chttps://github.com/git-big-picture/git-big-picture/pull/72\u003e`_)\n    * Pin and auto-update test requirements (`#73 \u003chttps://github.com/git-big-picture/git-big-picture/pull/73\u003e`_, `#75 \u003chttps://github.com/git-big-picture/git-big-picture/pull/75\u003e`_)\n    * Document changes of release 1.0.0 (`#74 \u003chttps://github.com/git-big-picture/git-big-picture/pull/74\u003e`_)\n    * Release version 1.0.0 (`#76 \u003chttps://github.com/git-big-picture/git-big-picture/issues/76\u003e`_)\n\n* ``v0.10.1`` — 2018-11-04\n\n  * Fix PyPI release\n\n* ``v0.10.0`` — 2018-11-04\n\n  * First release after 6 years\n  * Support for Python: 2.7, 3.4, 3.5, 3.6, 3.7 (`#13 \u003chttps://github.com/git-big-picture/git-big-picture/pull/13\u003e`_, `#14 \u003chttps://github.com/git-big-picture/git-big-picture/pull/14\u003e`_, `#24 \u003chttps://github.com/git-big-picture/git-big-picture/pull/24\u003e`_)\n  * Add Python classifiers to setup.py\n  * Tempfile suffix now matches format (`#28 \u003chttps://github.com/git-big-picture/git-big-picture/pull/28\u003e`_)\n  * Continuous integration via travis.ci (`#29 \u003chttps://github.com/git-big-picture/git-big-picture/pull/29\u003e`_)\n  * Fixed installation instructions (`#26 \u003chttps://github.com/git-big-picture/git-big-picture/pull/26\u003e`_)\n\n* ``v0.9.0`` — 2012-11-20\n\n  * rst-ify readme\n  * Fix long standing bug in graph search algorithm\n  * Fix long standing conversion from tabbed to 4-spaces\n  * Overhaul and refactor the test-suite\n  * Remove old ``--some`` crufty code and option\n  * Add ability to find root-, merge- and bifurcation-commits\n  * Overhaul command line interface with new options\n  * Add command line interface tests using Cram\n  * Overhaul documentation to reflect changes\n\n* ``v0.8.0`` — 2012-11-05\n\n  * Snapshot of all developments Mar 2010 - Now\n  * Extended command line options for viewing and formatting\n  * Option to filter on all, some or decorated commits\n  * Simple test suite for python module and command line\n\nLicense\n-------\n\nLicensed under GPL v3 or later, see file COPYING for details.\n\nAuthors/Contributors\n--------------------\n\n* Sebastian Pipping (`@hartwork \u003chttps://github.com/hartwork\u003e`_)\n* Julius Plenz (`@Feh \u003chttps://github.com/Feh\u003e`_)\n* Valentin Haenel (`@esc \u003chttps://github.com/esc\u003e`_)\n* Yaroslav Halchenko (`@yarikoptic \u003chttps://github.com/yarikoptic\u003e`_)\n* Chris West (`@FauxFaux \u003chttps://github.com/FauxFaux\u003e`_)\n* Antonio Valentino (`@avalentino \u003chttps://github.com/avalentino\u003e`_)\n* Rafał Zawadzki (`@bluszcz \u003chttps://github.com/bluszcz\u003e`_)\n* Dan Wallis (`@fredden \u003chttps://github.com/fredden\u003e`_)\n* Sergey Azarkevich (`@azarkevich \u003chttps://github.com/azarkevich\u003e`_)\n* Johannes Koepcke (`@jkoepcke \u003chttps://github.com/jkoepcke\u003e`_)\n* Rolf Offermanns (`@zapp42 \u003chttps://github.com/zapp42\u003e`_)\n* François Maheux (`@franckspike \u003chttps://github.com/franckspike\u003e`_)\n* Doug Torrance (`@d-torrance \u003chttps://github.com/d-torrance\u003e`_)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgit-big-picture%2Fgit-big-picture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgit-big-picture%2Fgit-big-picture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgit-big-picture%2Fgit-big-picture/lists"}