Software, mit der Ordner ein- und ausgecheckt werden können

476
Tom Jenkinson

Es wird einfacher sein, wenn ich erkläre, wofür ich es verwenden würde, als erklären, was es tut.

Ich bin ein Teil eines Studentenfernsehens und wir haben mehrere Bearbeitungs-PCs. Im Moment ist die Struktur, die wir mit allen Dateien haben, nicht großartig und ich versuche, sie etwas besser zu organisieren. Wir haben jetzt einen NAS-Server.

Ich möchte, dass alle Projekte und Inhaltsdateien in separaten Ordnern auf dem NAS-Server gespeichert werden. Wenn jemand an etwas arbeiten möchte, sollte der Projektordner zuerst erstellt werden, wenn es sich um ein neues Projekt handelt, und dann sollten alle Dateien für dieses Projekt auf den verwendeten lokalen PC kopiert werden. Wenn der Benutzer das Projekt beendet hat, sollte er die Dateien wieder auf den NAS-Server verschieben. Auf diese Weise werden auf den PCs nur Dateien gespeichert, an denen gerade gearbeitet wird. Wenn Sie alles auf dem NAS speichern, sollte das Verwalten von Backups ebenfalls ein bisschen einfacher sein.

Daher möchte ich den Prozess automatisieren, damit ein Benutzer ein Projekt "auschecken" kann, das dann alle Dateien auf den PC kopiert. Dann sollten sie das Projekt "einchecken" können, wenn sie fertig sind, und es würde alle Dateien auf den NAS durch die neuen ersetzen. Ich denke, es ähnelt einem Revisionskontrollsystem wie Git mit Push und Pull, aber ich möchte keine Revisionen behalten und es ist nicht für die Verwaltung von Quellcode gedacht.

Hat jemand von irgendeiner Software gehört, die dies tun könnte? Wenn nicht, denke ich, muss ich es selbst programmieren. In welchem ​​Fall hat jemand Vorschläge, bevor ich anfange?

Vielen Dank!

0
Versionskontrollsysteme funktionieren gut für kleine Dateien, insbesondere für Textdateien und Binärdateien. Sie sprechen über das Bearbeiten von PCs und Studentenfernsehen. Wie groß sind die Dateien? Ich denke, dass die unten angebotenen Versionskontrolllösungen für große Dateien nicht gut funktionieren werden. Matt H vor 11 Jahren 0

3 Antworten auf die Frage

1
jjno91

Sie haben Git erwähnt. Genau das suchen Sie. Git und SVN sind für Quellcode für Programmierer gedacht, aber es gibt nichts, was es darauf beschränkt. Bei meiner Arbeit beherbergt unser SVN-Server Dokumentationen, Programme, Bilder usw.

Im Kern synchronisiert die Versionskontrolle nur Ordner und liefert eine Historie darüber, wer was getan hat. Es hat wirklich nichts mit Code zu tun.

Diese Artikel zeigen, wie Sie SVN auf Ihrem NAS installieren können:

http://www.visualsvn.com/server/ http://www.visualsvn.com/support/topic/00022/

Dann können Sie dieses Programm auf allen Computern installieren, die es verwenden müssen:

http://tortoisesvn.net/

Vielen Dank. Ich werde später genauer darauf eingehen. Ist es nicht nötig, Revisionen beizubehalten? Ich möchte nur die neuesten Versionen auf den NAS behalten, oder es ist vielleicht gut, Versionen zu behalten, aber ich müsste alte Versionen leicht entfernen können. Angenommen, alle Videodateien wurden neu codiert. Ich möchte sicherstellen, dass sie nicht alle erneut in den NAS gespeichert werden, da dies Plattenplatz beanspruchen würde. Tom Jenkinson vor 11 Jahren 0
@TomJenkinson Die meisten Versionierungssysteme behalten nur die aktuellste Version im Repository. Dann haben Sie einen Ordner namens "tags", in dem Sie Version 1, 1.3, 2.0 usw. dauerhaft als Momentaufnahme aufbewahren und dann fortfahren können das Projekt weiß, dass Sie eine sichere Sicherung haben. Von den älteren Versionen, die nicht mit Tags versehen sind, bleiben nur die Kommentare, die von den Benutzern beim Einchecken einer neuen Version hinterlassen wurden, sodass Sie sehen können, was getan wurde und wer was getan hat. jjno91 vor 11 Jahren 1
Bedeutet das, dass immer mindestens eine Version erhalten bleibt? Wenn zum Beispiel eine Datei erstellt wurde, wurde alles gepusht, dann wurde die Datei gelöscht und alles wurde erneut gepusht. Würde diese Datei aus dem NAS entfernt? Tom Jenkinson vor 11 Jahren 0
@TomJenkinson Nein, wenn Sie einen Ordner auf Ihrem Computer löschen und die Änderung dann auf dem Server festschreiben, wird er vom NAS und Ihrem lokalen PC gelöscht. Wenn Sie jedoch ein Tag erstellen, sollen sie nicht gelöscht werden und müssen vor dem Löschen eine sekundäre Bestätigung erhalten. Wenn Sie den NAS einrichten, müssen Sie außerdem die Regeln festlegen. Dort können Sie auch festlegen, wo niemand einen Ordner oder Tags löschen kann, damit er vor Unfällen geschützt ist. Natürlich werden Unfälle dagegen abgewehrt, weil eine ziemlich vorsätzliche Festschreibungsoperation erforderlich ist, um eine Änderung abzuschließen. jjno91 vor 11 Jahren 0
@TomJenkinson Wenn jemand einen Löschvorgang auf dem Server festschreibt, werden alle anderen Benutzer, deren Datei ebenfalls ausgecheckt ist, die Dateien nicht betroffen, bis sie ihre Version auf einen anderen Server aktualisieren und jeder darüber informiert wird gelöscht worden jjno91 vor 11 Jahren 0
Großartig. Bisher habe ich nur Git mit Git Git verwendet, was automatisch Revisionen enthielt, weshalb ich unsicher war. Ich werde wahrscheinlich mit dieser Option gehen und vielleicht einen netten Kunden schreiben. Ich werde es als akzeptiert markieren, wenn ich alles überprüft habe. Vielen Dank! Tom Jenkinson vor 11 Jahren 0
1
jcharaoui

BitTorrent Sync kann den Juckreiz verkratzen. Es ist ein Programm, mit dem Ordner über ein Netzwerk synchronisiert werden können, ähnlich wie Dropbox.

Sie könnten es so verwenden:

  • Laden Sie BitTorrent Sync herunter und installieren Sie es auf Ihrem NAS.
  • Erstellen Sie für jedes Projekt einen Synchronisierungsordner
  • Beachten Sie das "Geheimnis" für jeden Synchronisierungsordner. Auf diese Weise können Sie Ihre Workstations mit dem NAS verbinden.
  • Installieren Sie BitTorrent Sync auf jeder Arbeitsstation.

Bei dieser Konfiguration kann jedes Mal, wenn einer Ihrer Benutzer an einem Projekt arbeiten möchte, er die BTSync-GUI öffnen und einen Synchronisierungsordner mit dem geheimen Schlüssel hinzufügen, der dem gewünschten Projekt entspricht. Die Dateien werden sofort vom NAS übertragen und der Benutzer kann sie an der Worsktation bearbeiten. Als zusätzlicher Bonus werden alle Änderungen und Aktualisierungen an Ihrem Projekt automatisch mit dem NAS synchronisiert und wirken wie ein Echtzeit-Backup. Sobald sie mit dem Projekt fertig sind, können sie den Synchronisierungsordner entfernen und alles auf der Arbeitsstation löschen.

Beachten Sie, dass sich BitTorrent Sync noch in der Entwicklungsphase befindet. Daher kann es zu Fehlern kommen. Trotzdem verwenden viele Leute wie ich es ohne Probleme.

Vielen Dank. Ich habe letzte Woche zum ersten Mal von BitTorrent-Synchronisation gehört. Es hört sich ziemlich gut an, aber ich glaube nicht, dass es eine API hat, also könnte ich es nicht sehr leicht anpassen. Im Moment denke ich, dass ein SVN wahrscheinlich der richtige Weg ist, um das zu erreichen. Tom Jenkinson vor 11 Jahren 0
Wenn Sie nach etwas suchen, das angepasst werden kann, könnte [Unison] (http://www.cyberciti.biz/faq/unison-file-synchronizer-tool/) möglicherweise besser sein. Sie könnten ein Front-End für dieses Programm erstellen, indem Sie beispielsweise Zenity verwenden, um die Synchronisierung bei Bedarf zu starten, anstatt ständig wie BTSync und die freie Software dabei zu sein. Wenn Sie alte Versionen Ihrer Projektdateien nicht behalten möchten, ist ein Versionskontrollsystem wie SVN nicht die richtige Lösung. jcharaoui vor 11 Jahren 1
Unison klingt ziemlich gut und möglicherweise besser als ein SVN. Ich werde dich wissen lassen, was ich damit mache. Vielen Dank! Tom Jenkinson vor 11 Jahren 0
0
Darth Android

You want to look at rsync. It's a tool which can synchronize folders between two systems:

rsync <source> <destination> 

So to "check out a folder"

rsync -az user@nas:/path/to/shared/folder /path/to/local/folder 

And then to check it back in after you're done making changes:

rsync -az /path/to/local/folder user@nas:/path/to/shared/folder 

Now, this will totally clobber changes if two people try to work on the same folder; If A checks out a folder, and then B checks out the same folder, and then A checks in the folder and then B checks in the folder, all of A's changes will be completely erased by B because B doesn't have A's changes. A proper distributed version control system (like git or mercurial) can solve this, but if you don't need revisions and don't have to worry about multiple people trying to check out the same folder and work on it, then rsync will probably much simpler and much more efficient at transferring large files.