[vz-dev] vzlogger, git, peterevertz, Bugfixes und Erweiterungen

Thorben Thuermer r00t at constancy.org
Mon Oct 7 15:59:23 CEST 2013


On Mon, 7 Oct 2013 15:09:20 +0200
Thorben Thuermer <r00t at constancy.org> wrote:
> in bezug auf: https://github.com/volkszaehler/vzlogger/pull/20
> 
> also, der merge-konflikt kommt daher, dass peter die vollstaendige liste der
> baudraten fuer d0 eingebaut hat, waehrend ein fix im master nur eine einzelne
> hiunzufuegt hatte.
> ist also eigentlich trivial.
> 
> mag justin mir commit-rechte fuer das master-repository geben,
> oder soll ich jetzt erstmal peter's aenderungen in einen eigenen fork
> mergen, damit justin die aenderungen inkl. konfliktbehebung dann von dort
> mergen kann?
> (wird irgendwie grotesk aufwaendig mal wieder...) 
> 
> um den prozess mal etwas zu dokumentieren:

ach ja, zum grossteil geklaut von:
http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging#Basic-Merge-Conflicts

> # frische kopie holen (sicherheitshalber)
> tthuermer at mc12[/tmp]$ git clone https://github.com/volkszaehler/vzlogger.git
> Cloning into 'vzlogger'...
> remote: Counting objects: 2272, done.
> remote: Compressing objects: 100% (1148/1148), done.
> remote: Total 2272 (delta 1175), reused 2160 (delta 1090)
> Receiving objects: 100% (2272/2272), 1.48 MiB | 229 KiB/s, done.
> Resolving deltas: 100% (1175/1175), done.
> tthuermer at mc12[/tmp]$ cd vzlogger/
> 
> ### lokalen branch fuer merge anlegen (nicht unbedingt noetig, wird so empfohlen)
> tthuermer at mc12[/tmp/vzlogger]$ git checkout -b peterevertz-master master
> Switched to a new branch 'peterevertz-master'
> 
> ### aenderungen aus peterevertz's fork holen lassen
> tthuermer at mc12[/tmp/vzlogger]$ git pull https://github.com/peterevertz/vzlogger.git master
> remote: Counting objects: 141, done.
> remote: Compressing objects: 100% (76/76), done.
> remote: Total 114 (delta 98), reused 54 (delta 38)
> Receiving objects: 100% (114/114), 17.60 KiB, done.
> Resolving deltas: 100% (98/98), completed with 27 local objects.
> >From https://github.com/peterevertz/vzlogger
>  * branch            master     -> FETCH_HEAD
> Auto-merging src/protocols/MeterD0.cpp
> CONFLICT (content): Merge conflict in src/protocols/MeterD0.cpp
> Auto-merging src/Config_Options.cpp
> Automatic merge failed; fix conflicts and then commit the result.
> 
> ### hier tritt der konflikt auf
> ### details mit:
> tthuermer at mc12[/tmp/vzlogger]$ git status
> # On branch peterevertz-master
> # Changes to be committed:
> #
> #       modified:   debian/vzlogger.init
> [...]
> #       modified:   src/vzlogger.cpp
> #
> # Unmerged paths:
> #   (use "git add/rm <file>..." as appropriate to mark resolution)
> #
> #       both modified:      src/protocols/MeterD0.cpp
> #
> 
> ### jetzt halt den konflikt beheben, zum glueck trivial:
> ### (also einfach die vollstaendigere version behalten, andere und marker loeschen)
> tthuermer at mc12[/tmp/vzlogger]$ vi src/protocols/MeterD0.cpp
>  93         switch (baudrate) {
>  94 <<<<<<< HEAD
>  95                 case 300: _baudrate = B300; break; /* for Landis&Gyr D0 Meters */
>  96 =======
>  97                 case 50: _baudrate = B50; break;
>  98                 case 75: _baudrate = B75; break;
>  99                 case 110: _baudrate = B110; break;
> 100                 case 134: _baudrate = B134; break;
> 101                 case 150: _baudrate = B150; break;
> 102                 case 200: _baudrate = B200; break;
> 103                 case 300: _baudrate = B300; break;
> 104                 case 600: _baudrate = B600; break;
> 105 >>>>>>> 3a41deb3206c2833b0ba6505098f8134ff38fc4d
> 106                 case 1200: _baudrate = B1200; break;
> 107                 case 1800: _baudrate = B1800; break;
> 
> ### git sagen, dass der konflikt behoben ist
> tthuermer at mc12[/tmp/vzlogger]$ git add src/protocols/MeterD0.cpp
> tthuermer at mc12[/tmp/vzlogger]$ git status
> # On branch peterevertz-master
> # Changes to be committed:
> #
> #       modified:   debian/vzlogger.init
> [...]
> #       modified:   include/protocols/MeterD0.hpp
> [...]
> #       modified:   src/vzlogger.cpp
> #
> 
> ### aenderung in den lokalen branch commiten:
> tthuermer at mc12[/tmp/vzlogger]$ git commit
> [peterevertz-master 8bada92] Merge branch 'master' of https://github.com/peterevertz/vzlogger into peterevertz-master, fix merge conflig in MeterD0.cpp: baudrate list
> 
> ### jetzt haben wir den fertigen merge in dem lokalen branch
> 
> ### wir wechseln in den master-branch zurueck:
> tthuermer at mc12[/tmp/vzlogger]$ git checkout master
> Switched to branch 'master'
> 
> ### jetzt koennten wir wohl den branch mergen:
> $ git merge peterevertz-master
> ### oder nur einzelne commits uebernehmen:
> $ git cherry-pick <hex-ID des commits>
> ### und die aenderungen veroeffentlichen:
> $ git push origin
> 
> allerdings habe ich wohl doch keine commit-rechte in vzlogger,
> und ich wuerde eigentlich lieber die aenderungen sichten und einzeln mergen.
> also fange ich dann nochmal von vorne an...
> 
> - Thorben


More information about the volkszaehler-dev mailing list