Im Laufe der Repo (ursprünglich SVN) war ich nicht zu gut mit Dateiverbindungen zusammen zu halten. Ich habe IDEs zweimal geändert, das Projekt in Netbeans-Module aufgeteilt und das Projekt über seine Zeit mavenisiert. Der größte Teil des Dateiverlaufs ist verloren, hauptsächlich weil ich beim Mavenisieren den gesamten Stamm gelöscht, committed, über das Maven-Projekt kopiert und festgeschrieben habe. Nicht gerade die beste Idee, als ich später alle auf diesen Punkt zurückgesetzten Geschichte herausfand. Es ist so schlecht geworden, dass ein Repository-Statistik-Programm nutzlos ist, da es besagt, dass ich 50.000 Zeilen Code anstelle von ~ 8.000 investiert habe.Reparieren Sie Links zwischen verschobenen Dateien in Mercurial
Gibt es eine Möglichkeit, alle beschädigten Dateiverläufe zu beheben? Ich habe Zugriff auf SVN und Git, wenn Mercurial es nicht tun kann
Da ich die einzige Person in diesem Repo bin und niemand es geklont hat, sollte ich damit klar kommen. Gibt es jedoch eine Möglichkeit, die Lösch- und Kopier-Commits, die ich in SVN gemacht habe, zusammenzuführen? Weil Sie immer noch das Problem der gebrochenen Geschichte vor dem Mavenizing haben. Der einzige Weg, an den ich denken kann, besteht darin, zu dieser bestimmten Revision zurückzukehren, die Arbeit zu erledigen und dann alle Änderungen oben anzuwenden. Aber das ist etwas, was ich bei Mercurial nicht so gut kann, und ich denke, es würde alle Zeitstempel verlieren, etwas, das ich bewahren möchte. – TheLQ
Wenn Sie die Route export-everything import-everything verwenden, können Sie zwei Changesets zusammenführen, indem Sie 'hg import --no-commit' verwenden und dann beide Importe ausführen, bevor Sie' hg commit' ausführen. Zeitstempel können in einem Änderungsset beliebig gesetzt werden (siehe 'commit --date') und Dateizeitstempel werden überhaupt nicht verfolgt. –
Zurück zu dieser Frage habe ich versucht, dies zu tun, aber ich stoße auf Probleme, die das Repo neu erstellen. Ich exportiere mit 'hg export --git -a -o" ../patch-%r.patch "-vv 0: tip' und importiere mit (stark vereinfacht)' für i in \ 'ls .. | grep patch \ '; do hg import --ähnlichkeit 90 --user "..." --force --date "..." ../$i; fertig; '. Allerdings bekomme ich viele Importfehler: Dateien existieren nicht, sie existieren bereits oder werden zurückgewiesen. Irgendwelche Vorschläge? – TheLQ