tar pode fazer isso com o sinal --listed-incremental , assim como descrito eu provavelmente faria isso. Você pode usar qualquer compressor que o tar suporta para compactá-lo (ou apenas canalizá-lo através de um compressor arbitrário). Consulte o link
Não tenho certeza de que tipo de projetos são, mas se for um código ou algum outro formato baseado em texto, provavelmente procurarei usar git ou algum outro sistema de controle de origem.
Eu também devo salientar que este é o tar GNU. Se você está em um BSD ou outro Unix, você pode precisar instalar o gnutar porque eu não acho que o bsdtar suporta isso.