7

Niedawno wysłałem projekt Visual Studio C++ do github. Zauważyłem, że VS tworzy plik .sdf, który jest stosunkowo duży (~ 25MB). Próbowałem usunąć ten plik w moim obszarze roboczym, aby zobaczyć, czy VS spowodowałby błąd. Po otwarciu projektu w VS nie zgłoszono żadnych błędów, a plik został odtworzony. Rozważam zatem usunięcie pliku .sdf, który jest aktualnie w moim repozytorium i dodanie wpisu * .sdf do pliku .gitignore repozytorium.Możliwe implikacje dodania plików * .sdf do .gitignore

Konsekwencją jest to, że gdy użytkownik ściąga zawartość repozytorium i otworzy go w Visual Studio po raz pierwszy, VS będzie musiał wygenerować plik .sdf. Jednakże, jeśli użytkownik ściąga zmiany z repo dokonane przez innego użytkownika, może .sdf uzyskać zsynchronizowane, a jeśli tak, to czy ktoś wie, czy VS poradziłby sobie z tym w sensowny sposób (np. Regeneracji pliku .sdf)? Czy mogą być inne implikacje, o których nie wiem?

Wszelkie dane wejściowe będą mile widziane!

Odpowiedz

11

Wygląda na to, że *.sdf są zwykle zawarte w plikach .gitignore ,; jak pokazano w ".gitignore for Visual Studio Projects and Solutions", ale także na GitHub gitignore project.

Potencjalnym efektem może być zmiana niektórych lokalnych modyfikacji: patrz "Local Data Cache Sync does not save client changes to sdf file".

Co więcej, ignorowanie pliku pamięci podręcznej z repozytorium kontroli wersji jest dobrą praktyką.

+1

Dziękuję [crazysim] (http://stackoverflow.com/users/286021/crazysim) za [twoja edycję] (http://stackoverflow.com/review/suggested-edits/10434785) – VonC

+0

Bez problemu. Sądzę, że mądrość większej całości wolałaby zachować martwe ogniwo, haha. – crazysim