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
Commit einer einzelnen Datei 'ne gute Idee?
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit
)
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.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Ich halte es mit DasIch. Daneben sind kleinere Commits immer besser als groessere, es sei denn sie verletzen die von CM genannten Eigenschaften.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
-
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.
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.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Fuer Emacs-Menschen sei hier noch monky genannt (oder das Vorbild Magit, aber fuer git wie der Name schon sagt).BlackJack hat geschrieben:TortioseHG lässt einen da sehr bequem einzelne „Hunks” aus dem Diff auswählen, die man committen möchte.
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.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
@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.
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.
@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...
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
Das, das Du beschreibst klingt ein wenig verwegen und gefährlich...
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit
)
