svn repo per git subtree einbinden

Grantig

Captain
Registriert
Okt. 2008
Beiträge
3.552
Ich würde gern ein Projekt (NBFC, siehe Sig) auf github veröffentlichen.

Momentan siehts so aus, dass ich OpenHardwareMonitor per git subtree eingebunden habe, allerdings nicht direkt, sondern über ein git repo, das das originale svn repo spiegelt.
(habs nicht hinbekommen ein svn repo direkt per git subtree einzubinden)

Mein geplantes Vorgehen wäre folgendes:
  1. OpenHardwareMonitor mirror repo auf github pushen
  2. Subtree remote URL des NBFC repos auf das OpenHardwareMonitor mirror repo zeigen lassen
  3. NBFC repo auf github pushen

Kann man das so machen, oder ist das zu umständlich?
Wäre es besser das svn repo direkt per git subtree einzubinden ohne Umweg über ein mirror repo (geht das überhaupt)?
 
Ich habe habe git subtree gerade mal ausprobiert, kannte ich noch nicht. Was mir aufgefallen ist, man verlinkt kein fremdes Repository, sondern man merged es komplett hinzu. Fremde Commits werden in die lokale Historie übernommen.
Code:
*   20e9b6a (HEAD, master) Merge commit '7b2040eede46921a48d0f27bfc385c2ddb84b521'
|\  
| * 7b2040e bla geändert
* | 5181938 blubb geändert
* |   5fd4905 Add 'subtree/' from commit 'c3910d5b1ec6fda317b129d776e2fb7e9b736826'
|\ \  
| |/  
| * c3910d5 bla fasel
* 2af2218 blubb
5fd4905 : git subtree add --prefix subtree <repository> master
20e9b6a : git subtree pull --prefix subtree <repository> master

Das fremde Repository ist also in deinem mit enthalten. Also musst du OpenHardwareMonitor nicht nochmal gesondert veröffentlichen.

Eine andere Möglichkeit ist git submodule. Damit werden Repositories nur verlinkt. Ich's aber noch nicht ausprobiert, soll ein bisschen hakelig sein.

Edit: subtree und submodule funktionieren natürlich nur mit git Repositories
 
Danke für die Antwort!

fhtagn schrieb:
Edit: subtree und submodule funktionieren natürlich nur mit git Repositories
Genau das ist das Problem.
Ich will Änderungen an OpenHardwareMonitor pullen können. Geht aber nicht direkt, da subtree nicht mit nem svn-remote klarkommt, deswegen mein "Umweg".

Git submodule habe ich vorher schon genutzt, ist aber umständlicher als subtree und bei nem clone ist das submodule nicht enthalten (da es quasi nur ein link auf nen bestimmten commit ist).
Deswegen habe ich mich für git subtree entschieden.
 
Dann passt das so wie von dir eingangs beschrieben. Denke nicht, dass es irgendwie einfacher geht.

Wie gesagt, der OpenHardwareMonitor-Mirror wird nicht benötigt. Es sei denn du möchtest den für dich selbst. Denn wenn man den klont, fehlt mMn die Konfiguration für den svn-remote, da Konfiguration nicht Teil des Repositorys ist.
 
Stimmt, habs grad nochmal ausprobiert, der svn-remote fehlt nach nem clone.
Ja dann ist der mirror tatsächlich sinnlos.

Danke für die Hilfe :)
 
Zurück
Oben