2009-07-17 10 views
8

Ich habe ein Projekt unter Versionskontrolle, aber das Projekt hat einige Bilder, Videos und Zip-Dateien, die sich so oft ändern. Ich möchte diese Dateien nicht unter Versionskontrolle speichern, da sie viel Speicherplatz beanspruchen und Updates und Commits sehr langsam machen.Best Practice beim Speichern von Nicht-Quelldateien unter Versionskontrolle

Was ist ein guter Weg, um mit diesem Problem umzugehen und dennoch nicht geänderte Quelldateien zu committen? Gibt es einen besseren Weg?

Ich benutze derzeit Subversion, wenn es einen anderen Versionskontrollclient gibt, der besser für dieses Problem ist, bitte empfehlen Sie es!

Antwort

3

Sie in einem Kommentar hinzugefügt:

Das Problem, das ich mit diesem ist, dass ich nicht über die Version der Geschichte dieser zip/Video-Dateien, solange sie die neuesten diejenigen sind, ist es egal, Es gibt kein Problem.

Das bedeutet, dass Sie einen linearen Arbeitsablauf haben, der nur auf der LETZTEN Seite eines Hauptzweiges funktioniert.
Sie scheinen nicht mit der Phase „nach der Freigabe“ zu beschäftigen, wo Sie haben:

  • halten, was in der Produktion läuft
  • entwickeln kleine Entwicklungen ...
  • ..while massiven Refactoring zu tun für

In den letzten drei Fällen einigen großen Entwicklungen zu experimentieren, die Frage nach dem „was die genauen Bilder waren, Videos und Zip-Dateien:‚ich habe verwenden‘oder‚ich war zu der Zeit mit‘könnte b wird wichtig.

Jedenfalls, wenn Sie glauben, dass SVN sie nicht angemessen behandelt, würde ich immer noch empfehlen, sich daran zu erinnern, dass Sie für die SVN-Revision xxx bis yyy die Version 'z' Ihrer Binärdateien verwendet haben.
Dafür könnten Sie ein externes Repository wie Maven einrichten. Siehe Frage "Is it acceptable/good to store binaries in SVN?" (meine Antwort in dieser Frage befindet sich oben auf der Seite, aber ich verlinke direkt auf Evans Antwort, da er Maven erwähnt).

+0

+1, ich wollte auf OP's Kommentar antworten, aber Sie haben es geschafft. –

+0

Die Frage bezieht sich auf svn, aber allgemeiner Mercurial hat Probleme mit Dateien größer als 10 MB –

6

Ich habe viele Nicht-Quelldateien in SVN und die einzige Zeit, die es verlangsamt das Commit ist, wenn ich sie ändere. Ich sehe nicht, wie das ein Problem ist, wenn sie nur "von Zeit zu Zeit" wechseln. Auch die Größe sollte eigentlich keine Rolle spielen. Wenn sich Ihr Repository auf einem Server befindet und Sie sich Sorgen darüber machen, wie viel Speicherplatz benötigt wird, müssen Sie ein Upgrade durchführen. Festplatten sind billig. Kauf Sie.

Einige Leute glauben stark, dass Nicht-Quelldateien nicht in die Quellcodeverwaltung gehören, ich sage, dass ein ganzes Projekt in der Quellcodeverwaltung gespeichert werden sollte. Auf diese Weise kann ich, wenn mein Entwicklungssystem ausfällt, zu einem anderen wechseln, und nach ein paar Minuten des Herunterladens des Projekts bin ich wieder beim Programmieren.

+0

+1 für diese Antwort. Ein Zusatz ... Aus meiner Sicht muss alles für die Versionskontrolle richtig bestellt sein. Wenn Ihre Nicht-Projektdateien nicht strukturiert sind, lassen Sie sie außerhalb der Versionskontrolle. – bastianneu

1

Während ich es sehr schwer finde, mit Nicht-Text-Dateien in der Versionskontrolle umzugehen, besonders solche, die sich stark ändern, habe ich akzeptiert, "wenn es für den Build/Installer benötigt wird Versionskontrolle". Das ist natürlich keine harte Regel. Ich halte Bibliotheken von Drittanbietern nicht unter Versionskontrolle (obwohl ich Leute kenne, die das tun).

Ich kam nach dieser Meinung nach der Einrichtung eines Continuous Integration Server in meinem Geschäft. Es ist viel einfacher, alles zu haben, was für den Build benötigt wird, der sich ändern kann. Wie bereits erwähnt, behalte ich die Bibliotheken nicht unter Versionskontrolle, aber das liegt daran, dass wir selten neue Bibliotheken aktualisieren/hinzufügen. Wenn dies für Ihren Shop nicht der Fall ist, können Sie dies in Betracht ziehen. Auch wenn sich Ihre Bilder/Videos/Reißverschlüsse mehr als einmal im Jahr ändern, würde ich empfehlen, sie unter Versionskontrolle zu behalten.

+0

Das Problem dabei ist, dass mir die Versionsgeschichte dieser Zip/Video-Dateien egal ist, solange sie die neuesten sind, gibt es kein Problem. Das ist ein weiterer Grund, warum ich sie nicht in der Versionskontrolle haben möchte. Es fühlt sich so an, als ob ich die Versionskontrolle nicht richtig verwende, weil sie all diese verschiedenen Versionen speichert, wenn ich sie nicht verwende. –

Verwandte Themen