Ich begann Klonen eines SVN-Repository mit der Klon-Operation git-svn. Nach ungefähr 6 Stunden des Imports (es ist ein großer Repo), ging mein Computer und schlief auf mir. Gibt es eine Möglichkeit, den Vorgang fortzusetzen, ohne die gesamte anfängliche Arbeit wiederholen zu müssen?Fortsetzen git-svn Klon
Antwort
Der git svn fetch
Befehl ein git svn clone
wieder aufnehmen wird von mehreren Quellen bestätigt:
- Git svn and Gnome Blog-Eintrag
(Übrigens, wenn während des ersten Klon Schritt die Verbindung stirbt oder Sie müssen Stoppen Sie dann, um den Klon wieder aufzunehmen, müssen Sie nur den obigen Befehl ausführen, um den Download des Verlaufs fortzusetzen.
Es scheint in
git-svn
ein Speicherverlust zu sein. Die Größe desgit-svn
Prozesses wuchs langsam und nach ungefähr zwei Wochen war es bei 1,2 GB Einwohnergröße, zu welchem Zeitpunkt das OS sich weigerte, es sich zu überlassen.
Die Sache ist, das war ein Segen in Verkleidung.
Ich konnte den unterbrochenen Klon mit einem einfachen "git svn fetch
" fortsetzen, und es lief viel schneller mit dem jetzt radikal kleineren Haufen.
Das funktionierte in der Tat so gut, dass ich mich daran gewöhnte, den Prozess jeden Abend und jeden Morgen zu unterbrechen und neu zu starten. Ein paar Tage später war es soweit.
Sie Ihre Abenteuer beginnen mit
git-svn
durch eine bestehende Subversion-Repository klonen:
git svn clone url://path/to/repo -s
Die
-s
Fahne geht davon aus, dass y Unser Repository verwendet die Konvention "trunk, branches, tags". Wenn nicht, müssen Sie manuell angeben, welche Verzeichnisse Zweige und Tags darstellen, wenn Git davon erfahren soll.Dies wird eine lange Zeit dauern, da es jede einzelne Revision von SVN holen und lokal committen wird. Wenn es aus irgendeinem Grund stoppt, können Sie mit
git svn fetch
fortfahren.
Ich fand a blog post, die zur Verfügung gestellt, was (ich hoffe) ist eine richtige Antwort.
Anscheinend wird der Klonvorgang durch Ausführung von git svn fetch
effektiv beendet. Hier ist Hoffnung!
Sie verwenden müssen 'git svn rebase' nach dem Fetch, um den Vorgang abzuschließen und den Master-Zweig, der den Stamm widerspiegelt, anzuzeigen. –
Könnten Sie einen Link zum Blogpost für zukünftige Referenz bereitstellen? – jmanning2k
Als VonC, CaptainAwesomePants und Archi sagten alle git svn fetch
macht den Trick. Ich machte eine git svn clone url... --authors-file=path/to/file
und der Klon schlug fehl, weil einer der Autoren nicht in der Autoren-Datei war.Ich fügte den Autor der Datei hinzu und lief git svn fetch
und es ging weiter, wo es aufgehört hat und git log später zu schauen, es scheint, dass es den neu hinzugefügten Autor verwendete, um den Namen des Commitautors zu ersetzen, also war alles süß.
gleichen hier! Danke für deinen Beitrag! –
Von mindestens git 2.1.0 Sie nur Neuausstellung git svn clone
jedoch wieder aufnehmen kann, dann werden einige Einträge in Ihrer .git/config duplizieren diejenigen entfernen, und alles wird gut
'Von mindestens Git 2.1.0 ...' Eine Idee, ob diese Funktion bei Git 1.9.1 existierte? – CivFan
Entschuldigung, ich habe keine Svn-Repositories mehr, um das zu versuchen. –
'git svn fetch' verursachte einen Prüfsummen-Mismatch für mich - und konnte nicht zurückgesetzt werden, da anscheinend kein HEAD:/- aber das funktioniert gut, musste nur' svn-remote.fetch' aus '.git/config entfernen ' – OLL
- 1. Konvertieren git vollständigen Klon zu flachen Klon
- 2. Farmville Klon
- 3. DataTable Klon
- 4. Uploads mit HTTP fortsetzen?
- 5. Loop nach Exception fortsetzen?
- 6. WPF Progressbar Animation fortsetzen
- 7. Code nach Exception fortsetzen
- 8. Fortsetzen Dateiübertragung, wenn abgebrochen
- 9. Anhalten/Fortsetzen CountDownTimer Android
- 10. Kerning an Taggrenzen fortsetzen
- 11. Fortsetzen Home-Bildschirm
- 12. Ansible Git Klon "Erlaubnis verweigert", aber direkte Git Klon funktioniert
- 13. java: Klon-Methode Verletzung
- 14. jQuery Klon Frage
- 15. asp.net mvc Ajax.BeginForm Klon
- 16. jquery klon id
- 17. Klon der statischen Klasse
- 18. Wie klon js Objekt?
- 19. Shallow Klon mit JGit
- 20. Revert Bad Git Klon
- 21. Wie Pipe Git Klon
- 22. Git-Klon --are/fetch
- 23. Inline PHP Klon
- 24. Git Klon hängen
- 25. jQuery Klon Problem
- 26. git-Klon Speicherzuordnungsfehler
- 27. Jquery ziehbare und Klon
- 28. Doppelte Tabellenzeilen mit Klon
- 29. Klon das Geschwister-Projekt
- 30. git svn Klon fehlgeschlagen
Ich denke, einige der Befehlszeilenoptionen, die für 'git svn clone' bereitgestellt werden, müssen ebenfalls (wie anwendbar) für' git svn fetch' bereitgestellt werden. Z. B. hatte ich "-r HEAD" für "git svn clone" eingestellt, um nur die HEAD SVN-Revision zu erhalten. Um fortzufahren, habe ich 'git svn fetch' ausgeführt, der mit dem Import aller Revisionen begonnen hat. – amolbk
Dies begann alles von der ersten Revision .... Ich habe 10.000 Commits! Irgendwelche Gedanken darüber, wie man * von wo weitermachen soll? –
@ NathanJ.Brauer nicht auf dem Kopf. Du könntest eine neue Frage stellen (mit dem verwendeten Betriebssystem, der git-Version und svn-Version und einem Link zurück zu dieser Antwort für den Kontext). – VonC