My bibliography files - integrated in other projects using git-subtree
TeX
Switch branches/tags
Nothing to show
Latest commit d1c4593 Nov 16, 2017 @Blaisorblade Blaisorblade More DOT papers
Permalink
Failed to load latest commit information.
.gitignore Add .gitignore Feb 9, 2014
Algo.bib
Alternatives.md
DB.bib Add papers on PL->DB translation (Ferry, Links, ...) Jul 28, 2017
DistrSystems.bib Move biblios in a separate directory May 31, 2012
Metabooks.bib
NewDistrSystems.bib
PLSystems.bib More papers Mar 31, 2014
ProgLang.bib More DOT papers Nov 16, 2017
README.md
SoftEng.bib
StrictnessAnalysis.bib
own.bib Fix case for abbreviation Aug 11, 2017
pull-updates.sh
push-updates.sh Bibs: Rewrite documentation, add scripts Oct 9, 2013

README.md

This repository contains my BibTeX bibliographies, together with instructions for reusing them in other repositories with git-subtree.

Feel free to use them.

Intro

To reuse these bibliographies for a paper, managed in a Git repository, add this repository as a subdirectory of the paper repository. You can then use git subtree to propagate changes between the paper repository and the bibliography repository; this setup scales to more paper repositories.

Your paper coauthors can work with you without learning any of this.

Get started:

  1. Fork this repo, unless you have write access to it.

  2. Let $remote be a Git URL for your fork (for instance, remote=git@github.com:Blaisorblade/Bibs.git).

  3. Run the following bash commands, replacing $remote as above.

    $ git remote add bibs $remote
    $ git fetch bibs
    $ git subtree add --squash -P Bibs bibs/master
  4. Your editor will be invoked, like for git commit. Enter a commit message describing the merge operation, for instance:

    Integrate bibliographies from github.com/Blaisorblade/Bibs

Pulling changes

To fetch updates from the bibliography repo to the paper repo, run from the repository root:

./Bibs/pull-updates.sh

Pushing changes

To split and push updates, first pull updates as above, then run from the repository root:

./Bibs/push-updates.sh

Caveat: If you care about commit messages in your bibliography repo, you need to ask them to have separate commits (with specific commit messages) for the bibliography directory. But this is not technically required: git subtree will remove unrelated changes from commits without problems.

Warning

  • Git subtree was broken in Git 1.8.3.3 and 1.8.3.4, and only fixed in release 1.8.4. Avoid using push or split with a broken git subtree: otherwise, spurious '-n' will be added to extracted commit messages. Rewinding history in the bibs repo, and running git fetch bibs in the parent repo will undo the averse effects; repeating the operation with a fixed git subtree will not run again in the problem.

  • Avoid having branches in the bibliography repositories. It seems that git subtree might pick some branch other than master.