Every time I apply for a job I write a new cover letter, research statement, and teaching statement. While each statement is personalized for the specific job, I tend to do a lot of cutting and pasting and little new writing (yes I have a whole collection of past statements). This seems like something that might be useful to keep under version control. how do people manage the different versions of the cover letter, research statement, and teaching statement?

  • Maybe branching may help (I haven't tried it for CV, but I intend to try it one day); see. nvie.com/posts/a-successful-git-branching-model or pcottle.github.io/learnGitBranching. Commented Apr 22, 2013 at 9:42
  • @PiotrMigdal I specifically left dealing with a CV out as I think it is a very different situation. Branching might be the way to go, I just don't see how I would ever merge the branches together.
    – StrongBad
    Commented Apr 22, 2013 at 10:14
  • (I don't know why I've written "CV"; perhaps my minds was not awake when writing comment and I got a hint by "While each statement is personalized for the specific job, I tend to do a lot of cutting and pasting and little new writing" ;).) In that case (i.e. rather variants than updated versions) I think that version control might be not the right tool (except for typical versioning of LaTeX file). Commented Apr 22, 2013 at 10:31
  • 1
    I think that we now have a large number of “What is good version control system for X?”, with X spanning a number of common academic tasks, and to which all answers run among the same lines. And no definitive answer in any case. These are really not the best questions of Academia SE :(
    – F'x
    Commented Apr 22, 2013 at 12:30
  • In addition: in its current wording, this is a poll question (“how do people manage…”). At the very least, it should be edited (or closed).
    – F'x
    Commented Apr 22, 2013 at 12:31

3 Answers 3


My research and teaching statement have a lot of commented text (I write in LaTeX). This is because I amend each document specifically for each job application - as you do.

The detail in which I describe each topic changes depending on what job I am applying for. I comment out text which is too detailed for the job to which I am applying. However, for other job applications, I might like to have that text put back into my statement, or write new text, to be perhaps commented out in a future application for a different job.

I now have documents with a lot of phrases from which I can "pick and choose", depending on the specific job to which I am applying, and amend appropriately. It isn't really version control, I know, but I find it useful to have a selection of wordings to choose from in one place so that I can compare and contrast things like the level of detail and the tone. This isn't particularly onerous as these documents do not total more than 2 - 3 pages in my case.


I am in the middle of my job search and I do the following to keep myself organised:

Directory structure: ('#' for comments and '/' for directories)

        #job ad and README.txt in here
/Not Interested or Expired
        /Application Materials #pdfs, copied over from git repos
/RS-git #git repo
    #possibly a generic Research Statement in here
            #Latest Research Statement in one of these
#similarly for TS, CV, CL
/TS-git #git repo for Teaching Statements
/CV-git #git repo for CV
/CL-git #git repo for Cover Letters

For each job ad I have a directory for the ad, a readme with notes to myself, and a directory for the application I am building/submitting. I then create related directories in each of the RS, TS, CV, CL directories, so that I can quickly start the application without affecting other concurrent ones. Importantly I never have to pull an earlier commit or mess around with branches to switch between job applications. This last bit is important because I often work on two applications at the same time, either to copy-paste between them, or simply to meet simultaneous deadlines.

One last note, my are in ISO format, so they appear in order of submission deadline.

  • Your notation for the directory structure isn't easy to parse. Are you using -> as a directory separator and // as a comment marker? The standard directory separator character is / (or `` sometimes), so this is confusing. Commented Dec 10, 2015 at 16:44

While I keep my correspondence in version control, I don't have the same document for cover letters that go to different schools. I simply prepend the name of the school to all of my correspondence for that school, and/or file everything into folders with the school's name.

As you point out, you end up personalizing almost everything (even CVs), so we aren't talking about one document for which you need version control. You want version control for all the documents, but each document has its own identity.

Now, if you do have a unique document that will be sent to different schools, you would want to create one document, and then create a symbolic link (or an alias) from one original to each school folder where it will be sent. Then, when you update the original, all the symbolic links point to the same file.

Finally, you may want to consider using a word processor that has the ability to use templates, but I find that is sometimes just as much work as simply duplicating a file and changing the duplicate.

  • Presumably your commit logs are something like "added application to X". When making a new application, how do you pull the bits from all your old applications merge them together?
    – StrongBad
    Commented Apr 23, 2013 at 12:08
  • Copy/paste, or duplicate. It's generally not a drastically different document, so the changes tend to be incremental, or I'll change the same paragraph in a number of different letters. I'll probably pick the closest one to what I want it to become, and go from there. Commented Apr 27, 2013 at 18:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .