Ich habe ein Repository auf meinem lokalen Rechner, der unter SVN ist. Aus verschiedenen Gründen ist der SVN-Zweig, an dem ich arbeite, gesperrt, und ich soll keinen weiteren Zweig machen. Ich würde gerne in der Lage sein, viele lokale Commits über Mercurial zu machen und dann diese Änderungen auf ein Netzlaufwerk zu kopieren/zu übertragen, so dass sie jede Nacht gesichert werden. Wenn der SVN-Zweig wieder geöffnet ist, werde ich die letzten Änderungen auf ihn übertragen.Was ist die beste Strategie für das automatische Klonen eines Repos auf ein Netzlaufwerk?
Nichts davon scheint ungewöhnlich. Ich habe mein lokales Repo gemacht, einige Änderungen daran vorgenommen und sie engagiert. Dann machte ich ein leeres Repo auf dem Remote-Laufwerk und versuchte hg push
die Änderungen. Nach einigen Stunden waren es nur noch 33%. Der Gesamtrepo beträgt etwa 80 MB (6,7 GB Dateien im Code-Ordner). Ich möchte wirklich nicht den ganzen Tag warten, jedes Mal wenn ich einen Commit mache.
Ich entschied mich, die hg push
zu packen und stattdessen hg clone
zu verwenden.
Es ging so (mit Powershell):
PS C:\Dev\Projects\Project1> hg status
PS C:\Dev\Projects\Project1> hg clone H:\Repo\Projects
**abort: repository H:\Repo\Projects not found!**
Ok, also muss ich anscheinend ein Repository in H: \ Repo \ Projects. Also gehe ich dorthin und benutze hg init
, um ein leeres Repository zu erstellen. Danach habe ich versuchen Sie dies:
PS C:\Dev\Projects\Project1> hg clone H:\Repo\Projects
destination directory: Projects
**abort: destination 'Projects' is not empty**
Was hier nicht Mercurial wollen? Ein leeres Verzeichnis? Nun, nein, dann kann es kein Repo finden. Ein leeres Repo? Nein, dann sagt es mir, dass das Ziel nicht leer ist. Ein brandneuer Ordner wie hg clone H:\Repo\Projects\TheNewFolder
? Nein, dann bekomme ich eine Repo nicht gefunden Nachricht.
Was ist der beste Weg (oder irgendein) Weg, dies zu tun? Ich stehe zwischen "dauert den ganzen Tag" oder "funktioniert überhaupt nicht".
Es scheint, dass Sie Recht haben. Der Punkt war alles was ich brauchte. Die Fehlermeldungen hier waren äußerst wenig hilfreich. Re: langsam: Es könnte unser Netzwerk sein. Das Repo ist 80 MB. Ich vermute, ich könnte es zu Bitbucket schieben und schneller in ein neues Verzeichnis runterziehen! – jcollum
Nun, in der Verteidigung dieser Fehlermeldungen war der Unterschied zwischen "Kopie a b" und "Kopie b a", die, wenn a eine Datei und b ein Verzeichnis ist, Ihnen in jedem System sehr unterschiedliche Fehlermeldungen geben wird. –
Die Fehler sagten mir wirklich nicht, dass ich 2 Argumente brauchte. Es schien sicher anzunehmen, dass es, wenn es nur einen Arg hatte, den aktuellen Repo an einen entfernten Ort kopieren würde. Während ich schreibe, kann ich sehen, wie die Logik in beide Richtungen gehen könnte ... Ich denke, ich würde es vorziehen, wenn es nur sagt "Du musst 2 Argumente haben". – jcollum