madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://"]
  insteadOf = madduck:

2017-02-26 Richard HartmannMerge branch 'master' of deploy master
2017-02-26 Richard HartmannMerge pull request #205 from harendra-kumar/master
2016-06-19 Harendra KumarFix documentation for running git commands
2016-03-26 Richard HartmannMerge pull request #198 from ohspite/fix-git-version...
2016-03-26 Don MarchFix git version parsing when there are spaces
2016-02-21 Richard HartmannMerge branch 'master' of
2016-02-21 Richard HartmannMerge pull request #196 from jotrk/master
2016-02-14 Jochen KeilFix write_gitignore for git version >= 2.7
2015-12-29 Richard Hartmannvcsh: Pass options through to commit
2015-12-29 Richard HartmannMerge branch 'feature/reproducible_build'
2015-12-29 Richard HartmannHandle the French locale in reproducible builds slightl...
2015-12-29 Richard HartmannRevert "t/100-init.t: Fix failure due to locale"
2015-12-22 Richard HartmannMerge branch 'fix/support_old_git'
2015-12-22 Richard Hartmann.travis.yml: Fix Travis CI
2015-12-22 Richard HartmannRevert ".travis.yml: Try to work around Travis CI"
2015-12-19 Richard Hartmann.travis.yml: Try to work around Travis CI
2015-12-19 Richard Hartmannvcsh: Fix condition in clone()
2015-12-19 Richard HartmannMerge branch 'feature/foreach'
2015-12-19 Richard Hartmann_vcsh: Remove list-tracked-by completely
2015-12-19 Richard HartmannDocument `vcsh foreach`
2015-12-19 Richard Hartmann_vcsh: Remove stale completion
2015-12-18 Richard HartmannMerge branch 'master' into feature/foreach
2015-11-29 Richard HartmannMerge branch 'feature/opt-list_untracked-a'
2015-11-29 Richard HartmannMerge pull request #149 from dottedmag/fix-test-git-22
2015-11-29 Richard Hartmannvcsh: Handle Git older than 2.x
2015-11-29 Richard HartmannMerge pull request #183 from ohspite/ff-initial-merge
2015-11-29 Richard HartmannMerge pull request #179 from dottedmag/master
2015-11-29 Richard HartmannMerge branch 'feature/fix-d946b07817ffe6e156c159e7fc627...
2015-11-29 Felix EckhoferSpeed up `which` by avoiding a loop
2015-11-29 Richard Hartmannvcsh: Fix regression introduced in d946b07817ffe6e
2015-11-29 Richard Hartmannvcsh: Default to `git ls-files --exclude-standard`
2015-09-21 Donvcsh: Always fast forward initial merge
2015-08-20 Mikhail GusarovFix broken list-tracked-by -- list_tracked expects...
2015-05-25 Florian Engelt/100-init.t: Fix failure due to locale
2015-05-18 Richard HartmannMerge branch 'feature/status_--terse'
2015-05-18 Richard Hartmannvcsh: Prepare status() for vcsh longopts
2015-05-18 Richard Hartmannt/300-add.t: Fix warning
2015-05-06 Richard HartmannUpdate copyright info
2015-04-14 Eli Youngvcsh: list_untracked(): remove --nocheck-order
2015-04-13 Richard Hartmannvcsh: Fix foreach()
2015-04-13 Richard Hartmanndoc/ Specify how to install as user
2015-04-03 Richard Hartmannvcsh: Implement skeleton of `vcsh foreach`
2015-03-02 Mikhail GusarovFix tests under git 2.2
2015-03-02 Mikhail GusarovAdd test for terse status output
2015-03-02 Mikhail Gusarovvcsh stat --terse
2015-02-24 Richard Use build tag for master
2015-02-23 Richard Hartmann.travis.yml: moo dependencies
2015-02-23 Richard Hartmann.travis.yml: moo
2015-02-23 Richard Hartmann.travis.yml: Less spam
2015-02-23 Richard HartmannMerge branch 'feature/travis-ci'
2015-02-23 Richard Formatting
2015-02-23 Richard Add Travis CI build state
2015-02-23 Richard Hartmann.travis.yml: Use built-in system for Perl deps
2015-02-23 Richard Hartmann.travis.yml: Add build dep on libshell-command-perl
2015-02-23 Richard Hartmann.travis.yml: Use sudo
2015-02-23 Richard Hartmann.travis.yml: %s/^\t/ /
2015-02-23 Richard HartmannInitial support for Travis CI
2015-02-23 Richard HartmannMakefile: Formatting
2015-02-23 Richard HartmannMerge branch 'master' of
2015-02-23 Richard HartmannCONTRIBUTORS: Update
2015-02-11 Richard HartmannMakefile: Delete correct doc dir
2015-02-11 Richard HartmannMerge branch 'feature/tests'
2015-02-11 Richard HartmannAdd pre-commit hook into tools/
2015-02-11 Richard HartmannMakefile: Add `prove` to make test
2015-01-12 Mathias SvenssonFixed typo in vcsh.1.ronn
2014-11-01 Richard Hartmannt/300-add.t: Get rid of useless diag()
2014-11-01 Richard Hartmannt/100-init.t: Update test to match new output
2014-11-01 Richard HartmannMerge branch 'master' into feature/tests
2014-10-25 Richard HartmannFix tests
2014-10-25 Richard HartmannRelease 1.20141026
2014-10-25 Richard Hartmannvcsh: Improve clone() error handling
2014-10-25 Richard Hartmannvcsh: FIX fatal()
2014-10-25 Richard HartmannMerge branch 'feature--clone_branch'
2014-10-25 Richard HartmannRelease v1.20141025
2014-10-25 Dridi BoukelmouneUse cowsay from the PATH instead
2014-10-25 Richard HartmannMerge branch 'feature/repository_specific_configuration'
2014-10-25 Richard HartmannMerge branch 'feature/status_against_remote_tracking'
2014-10-24 Richard Hartmannvcsh: support repo-specific config files
2014-10-24 Richard HartmannMerge pull request #144 from mirabilos/patch-1
2014-10-24 mirabilospermit "-b <branch>" to come later on the command line
2014-10-24 Dridi Boukelmounedoc/vcsh.1.ronn: Document clone [-b `branch`]
2014-10-24 Dridi Boukelmounevcsh: Fail fast if the clone branch is not valid
2014-10-23 Richard Hartmannvcsh: Replace `list-tracked-by` with `list-tracked...
2014-10-23 Richard Hartmannvcsh: Move list_untracked() into correct place
2014-10-23 Richard Hartmannvcsh: Factor out code from status() into status_helper()
2014-10-23 Richard HartmannMerge branch 'feature/list-untracked'
2014-10-23 Richard Hartmannvcsh: Allow `vcsh list-untracked <repo>`
2014-10-23 Richard HartmannMerge branch 'feature--overlay_functions'
2014-10-23 Richard Hartmannvcsh.1.ronn: Make the warning even more scary
2014-10-23 Richard HartmannMerge branch 'feature--improve_clone_errors'
2014-10-22 Richard HartmannAdd documentation for `list-untracked`
2014-10-22 Richard Hartmann_vcsh: Add completion for `list-untracked` and `status`
2014-10-22 Richard Hartmannvcsh: list_untracked(): Avoid `cut`; speed up `-r`
2014-10-22 Richard Hartmannvcsh: Add support for `vcsh list-untracked -r`
2014-10-22 Richard Hartmannvcsh: Remove extra function
2014-10-22 Richard Hartmannvcsh: Use BSD/OS X compatible `mktemp`
2014-10-22 Richard Hartmannvcsh: Fix random tab
2014-10-22 Richard Hartmannvcsh: Make fatal() default to `exit 1`
2014-10-22 Richard Hartmannvcsh: Make status() show commit offsets to remote track...
2014-10-22 Mert DirikReplace temporary repository with copy based method