2011-09-21 15 views
9

W jaki sposób można zachować znaczniki czasu dla plików? Próbuję wprowadzić moje repozytorium git. Dodaję skompilowane pliki binarne dla plików, które w większości się nie zmienią. Teraz, kiedy kupuję repo z gita, nie chcę kompilować tych plików c. Chcę użyć tych wstępnie skompilowanych plików binarnych. Tak więc, aby skonfigurować ten schemat, chcę wiedzieć, jak makefile śledzi sygnatury czasowe. Czy ktoś może mi pomóc?W jaki sposób tworzy znaczniki czasu utworu?

Dzięki

Odpowiedz

-1

Jeśli używasz make Nie sądzę, że należy umieścić te pliki binarne w repozytorium - wystarczy tylko włączyć make aby sprawdzić, czy są one aktualne. Zawsze możesz je odbudować. Jest to szczególnie ważne, jeśli nie jesteś jedyną osobą pracującą nad projektem. Będziesz musiał zaktualizować niektóre z tych plików w przyszłości, a następnie przekompilować je. Jeśli jesteś pod iluzją, że nie zamierzają się zmieniać, możesz zostać ugryziony, gdy coś nie działa.

+0

Tak, ale nadal pytanie nie dotyczyło dobrej praktyki. –

+0

@Ed: Pomysł polega na tym, że większość plików w projekcie się nie zmienia. Kiedy ktoś dostanie nową kopię repo, nie chcę, żeby on skompilował całą sprawę. Zastanawiam się, czy mogę zachować ślad tagów git i plików binarnych. Jeśli tag git i binarne pasują, po prostu skopiuj kompilację binarną else. Po prostu eksperymentuję z pomysłem poprawy szybkości kompilacji. –

9

make patrzy na czasy ostatniej modyfikacji. Z GNU make manual:

Program make wykorzystuje bazę danych z Makefile oraz czasów ostatniej modyfikacji plików zdecydować, które pliki powinny być aktualizowane.

I od IEEE Std 1003.1-2008 make manual:

zrobić narzędzie analizuje relacje czasowe oraz dokonuje aktualizacji tych plików pochodne (zwane cele), które wcześniej niż zmodyfikowanych czasów plików (zwane warunki wstępne) zmodyfikowaną razy z którego pochodzą.

Można użyć touch:

touch - dostępu do plików zmiana i modyfikacja razy

dostosować znaczniki czasu w razie potrzeby.

+0

Czy to oznacza, że ​​tworzy bazę danych po uruchomieniu po raz pierwszy? W takim przypadku nie będę mógł poprawić czasu kompilacji po wyrejestrowaniu thr repo. –

+0

@ agent.smith: Makefile sam w sobie jest bazą rodzajów, bazą reguł produkcji. –

+0

Czy istnieje sposób na poprawienie czasu kompilacji po pierwszym pobycie przy użyciu już skompilowanych plików binarnych na serwerze? –

Powiązane problemy