Seite 1 von 1

Commit einer einzelnen Datei 'ne gute Idee?

Verfasst: Montag 8. August 2011, 11:40
von mutetella
Hallo,

ich bin mir nicht sicher, ob es eine gute Idee ist, sowas wie ein Teil-commit zu machen. Konkreter Fall:
Ich arbeite an einem Modul, das Funktionen aus einem Modul 'utils.py' verwendet. Dabei habe ich an einer solchen Funktion eine kleine Änderung vorgenommen. Jetzt möchte ich aber noch keinen kompletten commit machen, diese kleine Änderung aber trotzdem festhalten.

Also einfach 'hg comm utils.py'? Oder handel' ich mir da irgendwann ein Problem ein?

mutetella

Re: Commit einer einzelnen Datei 'ne gute Idee?

Verfasst: Montag 8. August 2011, 11:54
von sparrow
Genau so mache ich das auch.

Übrigens solltest du im Topic schreiben, dass es um Mercurial geht.
Das hat ja nur indirekt etwas mit Python zu tun ;)

Gruß
sparrow

Re: Commit einer einzelnen Datei 'ne gute Idee?

Verfasst: Montag 8. August 2011, 11:57
von DasIch
Wenn du der Änderung einen Namen geben kannst mach einen Commit. Ich mach einen für jeden Typo den ich in der Dokumentation korrigiere.

Re: Commit einer einzelnen Datei 'ne gute Idee?

Verfasst: Montag 8. August 2011, 11:59
von CM
Also, das hat doch weder was mit Python noch mit hg zu tun. Einzelne Dateien absenden hat oft den Vorteil detaillierterer Kommentare - IMHO. Man sollte halt aufpassen, daß durch evtl. bestehende Abhängigkeiten, die Funktionalität anderer Elemente / Module / Bibliotheken / usw. nicht gebrochen wird.

Re: Commit einer einzelnen Datei 'ne gute Idee?

Verfasst: Montag 8. August 2011, 12:05
von cofi
Ich halte es mit DasIch. Daneben sind kleinere Commits immer besser als groessere, es sei denn sie verletzen die von CM genannten Eigenschaften.

Re: Commit einer einzelnen Datei 'ne gute Idee?

Verfasst: Montag 8. August 2011, 14:05
von BlackJack
Ich schliesse mich CM an. Mir ist wichtig, dass ein einzelner Commit das Projekt nicht „kaputt” macht. Jemand der alles bis und inklusive dem Commit auscheckt, sollte ein Projekt haben, das zumindest nicht funktionsunfähiger ist, als alles bis vor dem Commit.

Und dann breche ich auch den Inhalt *einer* Datei oft auf mehrere Commits runter oder auch den Inhalt von mehreren Dateien innerhalb der Dateien, wenn dort mehrere unabhängige Änderungen enthalten sind. TortioseHG lässt einen da sehr bequem einzelne „Hunks” aus dem Diff auswählen, die man committen möchte.

Re: Commit einer einzelnen Datei 'ne gute Idee?

Verfasst: Montag 8. August 2011, 15:59
von cofi
BlackJack hat geschrieben:TortioseHG lässt einen da sehr bequem einzelne „Hunks” aus dem Diff auswählen, die man committen möchte.
Fuer Emacs-Menschen sei hier noch monky genannt (oder das Vorbild Magit, aber fuer git wie der Name schon sagt).
Wobei das hunkweise/teilweise committen auch seine Tuecken hat, z.B. kann man u.U. ungetesteten Code committen und gerade aus Mercurial-Richtung wurde afair ziemlich gegen git gewettert, weil es das zulaesst, ja sogar beguenstigt.

Re: Commit einer einzelnen Datei 'ne gute Idee?

Verfasst: Dienstag 9. August 2011, 08:48
von snafu
@mutella: Was genau ist denn der Sachverhalt bei dir? Hast du eine Funktion von woanders aus in `utils.py` verschoben und zusätzlich an der Funktion eine kleinere Veränderung vorgenommen und willst du eigentlich nur die geänderte Funktion committen, ohne dass alle anderen Funktionen schon mit dabei sind?

In solchen Fällen mach ich's einfach so, dass ich mir den alten Stand aus dem Repo kopiere, die Änderung dort einfüge, dies committe und dann wieder mittels Undo-Funktion des Editors auf den Stand mit den anderen Änderungen zurückspringe. Geht sicher wesentlich eleganter, aber ich habe mich mit Branches & Merges (die hier vermutlich sinnvoller wären) noch nicht so detailliert beschäftigt. :oops:

Re: Commit einer einzelnen Datei 'ne gute Idee?

Verfasst: Dienstag 9. August 2011, 09:54
von mutetella
@snafu: Nein, die Strukturen sind völlig gleich geblieben. Ich habe lediglich einen kleinen, feinen Fehler an einer utils-Funktion entdeckt und behoben, wollte das aber gleich committen, obwohl ich mit den eigentlichen Änderungen in anderen Modulen noch nicht abgeschlossen hab'.

Das, das Du beschreibst klingt ein wenig verwegen und gefährlich... :wink: Die Undo-Funktion Deines Editors sollte hier auf gar keinen Fall versagen! Keine Ahnung weshalb, aber immer, als ich 'undo' am dringensten gebraucht hätte, stand ich an der Wand!

mutetella