Mover uma pasta de arquivos version-in-name para um histórico adequado do git

0

Eu tenho uma pasta contendo muitos arquivos do formato svs_a.png, svs_b.png, svs_xyz.png, svs_something.png, ... svs_final.png. Estas são todas as versões diferentes do mesmo arquivo, chamado de acordo com o sistema antigo e "renomear cada versão". A pasta agora ficou muito confusa, e estou me sentindo um idiota por não usar um VCS adequado desde o início. Eu gostaria de colocar tudo isso em um repositório de gits agora, e seria ótimo se eu pudesse colocar cada um deles no repositório como versões diferentes do mesmo arquivo. Existe uma maneira de fazer o git fazer isso?

Existem também alguns arquivos chamados svs_color_a.png, ... svs_color_final.png que eu gostaria de armazenar em uma ramificação diferente do repo (digamos, "color").

    
por sundar 12.04.2013 / 20:28

1 resposta

1

Assumindo um sistema Linux:

#!/bin/sh -e
import_files() {
    for file; do
        date=$(stat -c %y "$file")
        cp "$file" svs.png; git add svs.png
        git commit -m "Imported $file" --date="$date"
    done
}
git init
import_files svs_{first,second,third,fourth,.....,final}.png
git checkout --orphan color
import_files svs_color_{first,second,third,...,final}.png

Usar git checkout --orphan cria uma ramificação completamente separada. O uso de git checkout -b criaria um branch continuando a partir do último commit no master.

    
por 12.04.2013 / 21:31