Hallo,
Ich benutze git als Versionsverwaltung und entwickle eine Lib für ein
embedded Projekt (lib.c und lib.h. Jaja ich weiß, eine lib ist
eigentlich .a oder .so).
Die Lib soll von anderen Projekten (inklusive eins von mir :-) ) als
git-submodul eingebunden werden können, aber das ist hier erstmal
unwichtig.
Um die Lib entwicklen zu können ist ja eine Art Laufzeitumgebung
erforderlich. Damit meine ich zusätzliche Dateien wie makefile, main.c
für die Hard- und Softwareinitialisierung etc. Ich nenn das mal
"Entwicklungsumgebung". Aber, dieses Zeugs soll natürlich nicht in dem
Projekt landen welches die Lib als submodule einbindet.
Deswegen dachte ich an folgende Struktur:
1 | / Entwicklungsumgebungs-root
|
2 | |-- .git
|
3 | |-- makefile
|
4 | |-- main.c
|
5 | |-- Doku, Todo-Liste, Notizen etc.
|
6 | |-- lib-folder (dieser Ordner kann via submodule anderweitig eingebunden werden)
|
7 | |-- .git
|
8 | |-- lib.c
|
9 | |-- lib.h
|
Wie man sieht hab ich hier ein git-Projekt in einem "äußeren"
git-Projekt.
Benutzer der Lib können nun das "innere" Projekt als submodule
einbinden, dadurch würden sie sich nur die wichtigen Sourcen ins Projekt
ziehen, das ganze Drum-Herum wird nicht mit eingebunden.
Mein Problem: so klappt das (bisher) nicht. Klar kann ich bei mir auf
der Platte in den lib-folder wechseln, dort ein "git init" machen usw.
Allerdings weiß das äußere Projekt dann nicht, dass es sich dabei um ein
eigenes Projekt handelt. Stattdessen möchte das äußere Projekt auch die
Datein im lib-folder tracken. Das macht natürlich keinen Sinn.
Gibt es da ne Möglichkeit, dem äußeren Projekt irgendwie mitzuteilen:
Hallo, der Ordner ist für dich ne Blackbox, was da drin passiert geht
dich nix an. ? Eine .gitignore fühlt sich da nicht richtig an.
Geht das irgendwie?