Quais são as diferenças entre pontos ".." e pontos triplos "..." nos intervalos de confirmação do Git dif

Quais são as diferenças entre os seguintes comandos:

git diff foo master   # a 
git diff foo..master  # b
git diff foo...master # c

O manual do diff fala sobre isso:

Ramos comparados

$ git diff topic master    <1>
$ git diff topic..master   <2>
$ git diff topic...master  <3>
Alterações entre as dicas do tópico e as ramificações principaiO mesmo que acima Alterações ocorridas no ramo mestre desde quando o ramo do tópico foi iniciad

mas não é totalmente claro para mi