Versionsverwaltungen

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Suchst du vielleicht eine Versionsverwaltung wie CVS oder Subversion ???

Edit (Leonidas): Aus dem Thread dokumentation geforkt.

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

newbe hat geschrieben:ich möcjte jetzt noch das alles mögliche halt protokolliert wird, wenn möglich von einem program. z.b dateiname.. welche klassen da drin sind usw.
Hi!

Die Programme pydoc oder epydoc holen die Docstrings, die Klassen-, Funktionsdefinitionen, uvm. aus deinem Quellcode raus und erstellen HTML-Seiten als Dokumentation.

Wenn du eine Versionsverwaltung brauchst, dann empfehle ich dir Subversion.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Ich rate von subversion ab und biete dafür darcs an, dass man IMHO doch einiges flexibler einsetzen kann.
Gast

wie funktioniert dieses pydoc???
kann mir einer sagen wie ich das öffne und dann benutze
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

henning hat geschrieben:Ich rate von subversion ab und biete dafür darcs an, dass man IMHO doch einiges flexibler einsetzen kann.
Hi Henning!

Ich bitte um mehr Details. Was sind die Vorteile des dezentralen Ansatzes von darcs gegenüber Subversion? Darüber konnte ich nicht wirklich viel in der Website finden.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Anonymous hat geschrieben:wie funktioniert dieses pydoc???
kann mir einer sagen wie ich das öffne und dann benutze
Hi!

pydoc findest du im lib-Verzeichnis deiner Python-Installation. Schau dir den Quelltext an. Im Kopf findest du eine Erklärung zu pydoc.

Unter Windows findest du im Startmenü unterhalb des Menüs "Python 2.4" den Eintrag "Module Docs" das ist nichts anderes als ein Aufruf von Pydoc mit dem Parameter "-g".

Statt dir den Quellcode anzusehen, kannst du in der Dos-Box in den Lib-Ordner deiner Python-Installation wechseln und mit dem Befehl

Code: Alles auswählen

python pydoc
die Hilfe anzeigen lassen.

Google:
http://pydoc.org/
http://www.onlamp.com/pub/a/python/2001 ... pydoc.html

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Achso, sorry, okay hier ein paar Sachen, die ich persönlich an darcs mag (ist natürlich z.T. auch Frage des Anwendungsgebietes).
Args. Es ist mehr eine generelle Aufzählung an Eigenschaften geworden, die teilweise wohl auch woanders vorhanden sind, trotzdem vielleicht lesenswert:
  • * Ein Repository besteht aus ganz normalen Dateien und einem speziellen _darcs-Ordner, dessen Inhalte durchschaubar sind!

    * Daraus folgt, dass man so ein Respositpry einfach kopieren kann

    * Es gibt keinen grundsätzlichen Unterscheid zwischen Server- und clientseite. Die repositories sehen genau gleich aus.

    * Es werden "patches" ausgetauscht. Versionsnummern werden nur erstellt, wenn man es angibt (war aber glaub ich bei svn auch so, oder?)

    * Es ist keine komische server-software (a la pserver) nötig/möglich, der patch-austausch kann über ssh, ftp, http, email, dateisystem (also z.B. auch nfs) und im Grunde jeden anderen Kanal, der Dateien übertragen kann, erfolgen.

    * Es ist leicht, spezielle branches zu kontruieren, wenn man das will, in dem man bestimmte patches einpfelgt, andere nicht.

    * Man kann patches sowohl zu einem anderen repository senden, als auch sich welche explizit holen. Ausserdem kann man auch mehrere patches lokal erstellen bevor man sie verschickt. Damit beugt sich das systemleicht jeder situation, wenn z.B. das repo, dass man zentral nutzen will nicht immer online ist, oder man mal im Zug arbeitet, etc...

    * Es ist leicht zu bedienen
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

henning hat geschrieben:Es ist mehr eine generelle Aufzählung an Eigenschaften geworden, die teilweise wohl auch woanders vorhanden sind, trotzdem vielleicht lesenswert:
Hi Henning!

Danke für die Aufzählung. :D

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich finde den SVN Ordner auch recht überschaubar, das Protokoll ist HTTP/HTTPS/SVN(+SSH), aber CHeckouts kann man rumschieben wie man will. Außerdem kannst du mit svk auch Subversion Repositories dezentral verwenden.

Versionsnummern gibt es in SVN für jede Änderung, diese sind halt die Revisionsnummern, Versionsnummern wie in CVS gibt es nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Joa, wie schon gesagt, is halt Geschmackssache, ich hab mit beidem gearbeitet und finde darcs halt schöner wie gesagt auch z.B. desgwegen, weil es so durchschaubar ist (z.B. die Struktur vom speziellen _darcs-Ordner).
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Hey. Stop. darcs != svn

Die zwei haben Verschiedene Ansätze. Und darcs würde ich generell nie verwenden. Statt darcs nehme man git, statt CVS svn.

git und darcs verwendet man, wenn man viel Zeit hat und einer die Patches einspielt ^^

svn setzt dagegen darauf, dass bestimmte Leute Zugriff zum Repo haben und dort die Daten ablagern können. Der Server hat noch einige Sonderfeatures, die einem das Leben erleichtern. Beispielsweise Dateieigenschaften...

Darcs würde ich aber generell nicht empfehlen, git ist jetzt schon leistungsfähiger.
TUFKAB – the user formerly known as blackbird
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich fand das exzessive Patchen von Darcs nicht so toll.

Auch monotone fand ich mit dem Übertriebenen Einsatz von SHA unhandlich. Arch ist vielleicht ok, aber tla funktioniert unter Windows nicht richtig (und Tom Lord ist etwas arg exzentrisch) aber vielleicht machen es Bazaar und Bazaar-NG besser. Die Python SCMs Mercurial und Codeville habe ich auch noch nicht getestet, da ich eigentlich mit SVN/SVK recht zufrieden bin, aber wenn ich mal wieder Zeit und Lust hätte..
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Welchen Client für svn gibt's denn für Windows und Linux ??? Nutze für CVS unter Windows TortoiseCVS und bin damit ganz zufrieden. Ich möchte aber bei python-hosting svn nutzen...

EDIT: Ist ja witzig. Es gibt auch TortoiseSVN Das werd ich mal testen...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Der Client nennt sich "Subversion", hat Python (glaube sogar 2 verschiedene) und Java Bindings (ich glaube Ruby Bindings sind auch in der Mache) und ist auf der Subversion Homepage zu haben. Wenn es GUI sein muss, dann hast du RapidSVN und das Eclipse Plugin Subclipse Das Explorer-Plugin TortoiseSVN ist auch in Ordnung.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

Unter KDE macht KDEsvn ganz gute Fortschritte. Ist noch nicht so gut wie TurtoiseSVN, aber auf jeden Fall schon benutzbar.
ProgChild
User
Beiträge: 210
Registriert: Samstag 9. April 2005, 10:58
Kontaktdaten:

Leonidas hat geschrieben:Wenn es GUI sein muss [...]
Ich finde, muss es nicht. Ich hab schneller "svn ci -m blah" eingetippt, bevor RapidSVN überhaupt gestartet ist, aber zur um den Überblick zu behalten ist es nicht schlecht.

Mal ne Frage, die ich schon immer mal an die Allgemeinheit richten wollte: Wie haltet ihr das mit den Repos und euren Projekten? Legt ihr für jedes Projekt ein neues Repo an? Mach ich nämlich nicht, obwohl es sicher manchmal praktisch wäre, wenn man sich mit einem Projekt mal total verrannt hat. Dann kann man es später noch restlos entfehrnen, was nicht geht, wenn alles in einem Repo liegt...
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

ProgChild hat geschrieben:Legt ihr für jedes Projekt ein neues Repo an? Mach ich nämlich nicht, obwohl es sicher manchmal praktisch wäre, wenn man sich mit einem Projekt mal total verrannt hat. Dann kann man es später noch restlos entfehrnen, was nicht geht, wenn alles in einem Repo liegt...
Hi ProgChild!

Man kann mit Subversion aus einem alten Repository ein neues erstellen und bei diesem Vorgang einen Filter definieren, der z.B. einen bestimmten Zweig nicht ins neue Repository übernimmt, oder nur einen bestimmten Projektzweig ins neue Repository übernimmt.

Das ist mir aber alles zu umständlich. Ich habe für jedes Projekt ein eigenes Repository. So lange dauert das bei mir auch wieder nicht, ein neues Repository anzulegen.

Code: Alles auswählen

1. 
/etc/init.d/apache2 stop
su apache
svnadmin create /svn/dev/repositoryname
2.
Mit dem Midnight Commander kopiere ich die Einstellungen,
Berechtigungen und Hooks aus einem anderen Repository
in das neue Repository.
exit
3.
Im Apache einen neuen Webdav-Eintrag schreiben (copy, paste)
/etc/init.d/apache2 start
4. 
In der Konfigurationsdatei des *WebSVN* eine neue
Zeile für das neue Repository hinzufügen.
Fertig.
Wenn ich langsam bin, brauche ich dafür drei Minuten unter Gentoo-Linux.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Bei mir liegt ein Projekt in einem eigenen Repository, die Restlichen liegen im "snippets" Repostiory. Dort liegen auch andere Projekte, die eigentlich nicht mehr Snippets sind, also müsste ich sie vielleicht mal wo anders hinschieben. Aber bis jetzt geht das auch so wie es ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

ProgChild hat geschrieben:
Leonidas hat geschrieben:Wenn es GUI sein muss [...]
Ich finde, muss es nicht. Ich hab schneller "svn ci -m blah" eingetippt, bevor RapidSVN überhaupt gestartet ist.
*zustimm*, ich verwende generell nur die kommandozeile für die reop Sachen, für den Überblick habe ich Trac.
ProgChild hat geschrieben:Mal ne Frage, die ich schon immer mal an die Allgemeinheit richten wollte: Wie haltet ihr das mit den Repos und euren Projekten? Legt ihr für jedes Projekt ein neues Repo an? Mach ich nämlich nicht, obwohl es sicher manchmal praktisch wäre, wenn man sich mit einem Projekt mal total verrannt hat. Dann kann man es später noch restlos entfehrnen, was nicht geht, wenn alles in einem Repo liegt...
Jedes Projekt bekommt bei mir in der Regel ein eigenes Repo inkl dazugehörigen Trac.
TUFKAB – the user formerly known as blackbird
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Hallo?
darcs wenn man viel Zeit hat?
Dann hast entweder du darcs nicht verstanden oder ich habs total gefressen denn das einspielen eines patches geht genau so schnell und leicht wie das uploaden bein svn, cvs oder sonstwas. git kenne ich zugegebenermaßen nicht.
Auf darcs bin ich btw. durch uuu gekommen, die verwenden das auch (nur mal so als "Referenz")

Was kann git denn mehr/besser als darcs?

Warum soll svn besser geeignet sein? Ich konnte mit darcs bis jetzt alles machen, was ich wollte/brauchte... Zugegeben meine cvs/svn-Zeit ist ein bisschen her, aber ich hab das Gefühl, dass es mit darcs schöner geht.
Antworten