Forum: Mikrocontroller und Digitale Elektronik Versionskontrolle & IDE für avr-gcc?


von Detlev T. (detlevt)


Lesenswert?

Hallo Leute,

meine Projekte werden allmählich größer.  Bislang habe ich AVR Studio 
bzw. KDevelop verwendet und Zwischenstände "manuell" gesichert Aber ich 
komme jetzt merklich an die Grenze, wo ich die Übersicht zu verlieren 
drohe.

Ich habe mich nach anderen Tools umgesehen. Häufig wird Eclipse als IDE 
und cvs als Versionsverwaltung genannt. Mich gruselt aber ein wenig vor 
diesen allumfassenden Riesen. Die Projekte sind noch nicht so groß, dass 
da mehrere dran arbeiten würden. So etwas wie ein Internet-basiertes 
Repository wie cvs bräuchte es also nicht unbedingt, etwas "lokales" 
würde schon reichen. Veröffentlichen will ich ohnehin am Ende nur 
zip-Dateien mit dem Sourcecode.

Was die IDE betrifft, habe ich mir kurz Anjuta angesehen. cvs wird da 
wohl recht gut unterstützt und verliert damit ein wenig von seinem 
Schrecken. Aber da gibt es wohl keine Unterstützung speziell für avr-gcc 
mit seinen "Besonderheiten". Bei Eclipse schaffe ich es nicht, mir einen 
Überblick zu verschaffen, welche Plug-Ins ich da bräuchte.

Könnt ihr mir da helfen? Was nutzt ihr für größere Programme, sagen wir 
bis 64kiB Codegröße?

von Ronny (Gast)


Lesenswert?

Den kleinen Bruder von Eclipse, Code::Blocks ;)

Und mit lokalen Repositories wäre z.B. GIT interessant. Damit kann man 
dann notfalls später auchmal einen kompletten Linux-Kernel verwalten ;)

von z.b. so (Gast)


Lesenswert?

make bak ;-)

habe ich oft für uni-projekte verwendet, für die mir ein cvs/svn zu groß 
war.
die einfachste version habe ich mal angehängt. das ganze könnte man 
sicher noch besser machen/schreiben - aber solange das skript genau das 
macht was es soll ändere ich auch selten was daran...

Makefile:
1
bak: clean
2
  $(shell ./makebak.sh)

makebak.sh:
1
#!/bin/bash
2
3
DATE=$(date +%d%m%y-%H%M)
4
DIR=$(basename `pwd`)
5
6
cd ..
7
tar -czf $DIR-$DATE.tar.gz $DIR

von z.b. so (Gast)


Lesenswert?

Detlev T. schrieb:
> So etwas wie ein Internet-basiertes
> Repository wie cvs bräuchte es also nicht unbedingt, etwas "lokales"
> würde schon reichen.

cvs/svn kann man sich auch lokal installieren - das muss nicht unbedingt 
zwischennetz-basiert sein...

von Detlev T. (detlevt)


Lesenswert?

z.b. so schrieb:
> cvs/svn kann man sich auch lokal installieren - das muss nicht unbedingt
> zwischennetz-basiert sein...

Wenn mich schon graust, ein Paket zu nutzen, will ich das nicht auch 
noch installieren und konfigurieren müssen.

von Klaus W. (mfgkw)


Lesenswert?

svn ist doch nicht schlimm.
Aber durchaus hilfreich, leistungsfähig und zuverlässig.

Davor hatte ich mir mit einem Skript jeweils den aktuellen
Stand von Verzeichnissen mehr oder weniger regelmässig
in eine .zip oder .tar.gz gepackt, aber das ufert mengenmäßig
irgendwann aus.

cvs würde ich nicht empfehlen; es ist älter, kann etwas weniger
und nichts mehr als svn.

von marvin (Gast)


Lesenswert?

Detlev T. schrieb:
> z.b. so schrieb:
>> cvs/svn kann man sich auch lokal installieren - das muss nicht unbedingt
>> zwischennetz-basiert sein...
>
> Wenn mich schon graust, ein Paket zu nutzen, will ich das nicht auch
> noch installieren und konfigurieren müssen.

Musst du ja auch garnicht. Ich bin mittlerweile auch git-freund, damit 
ginge es mit:

 ~/projekte/blah$ git init

und fertig. Mit svn waere es aber jetzt auch nicht so viel mehr arbeit 
(Das ist jetzt nur aus dem Kopf, man moege mir Fehler verzeihen):

 /var/svn$ svnadmin create blah
 ~/projekte$ svn co file:///var/svn/blah

Gruesse

Marvin

von Detlev T. (detlevt)


Lesenswert?

Zwischenstand

also das mit Code::Blocks war ein prima Tipp :ThumbUp:. Das Programm 
werde ich jetzt nutzen.

Ich meinte übrigens auch svn und nicht csv. (Einem Laien möge man diese 
"Legasthenie" verzeihen. ;-) ) Braucht svn nicht aber in jedem Fall 
einen Server (Apache) um arbeiten zu können?

GIT werde ich jetzt einmal testen. Dieses Versionsdingsbums ist zwar 
aufwändiger, als ich eigentlich dachte, weil man die Änderungen immer 
noch zusätzlich dokumentieren muss. Aber es ist vielleicht nicht 
schlecht, wenn der innere Schweinehund dazu gezwungen wird.

Vielen Dank für eure Hilfe und Tipps.

Gruß, DetlevT

von Klaus W. (mfgkw)


Lesenswert?

svn braucht keinen Indianer.

Zumindest bei mir unter Debian nicht.

von tom (Gast)


Lesenswert?

svn kannst Du lokal (oder auf einem Netzwerk-LW) als versionsverwaltung 
nutzen, ohne den svn-server installieren zu müssen.
Einfach tortoise als client installieren, repository erzeugen und gut 
ist. ein wenig doku zwecks verständnis (versionsverwaltung versus 
versionskontrolle) und angst-abbau vorher lesen hilft auch.
macht auf jeden fall sinn.
git als versionsverwaltung ist auch ok.

gruss, tom.

von Markus (Gast)


Lesenswert?

Da ich Eclipse und das Subversive SVN Plugin bereits für meine PHP 
Projekte genutzt habe, war es naheliegend, es auch für die AVR-C 
Projekte zu nutzen. Ein Mal eingerichtet bin ich wirklich sehr zufrieden 
damit. Alles aus einer IDE heraus... sehr komfortabel.
Das SVN-Repository habe ich hierbei lokal in einem Verzeichnis liegen. 
Die SVN-Verwaltungstools greifen dann direkt auf die Dateien zu, da 
brauchst keinen Apache oder sonstwas.

Habe auch länger überlegt, ob ich CVS, SVN oder GIT nutzen soll. Habe 
mich schlussendlich für SVN entschieden, da hier die Versionskontrolle 
beim Umbenennen und Verschieben von Dateien am besten war (glaub 
zumindest, dass das der Grund war)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.