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

Thorben Thuermer r00t at constancy.org
Mon Oct 7 15:52:00 CEST 2013


On Mon, 7 Oct 2013 15:09:20 +0200
Thorben Thuermer <r00t at constancy.org> wrote:
> Moin,
> 
> 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...) 

habe ich jetzt mal gemacht (details ganz unten),
von mir aus soll herr otherguy dass dann so mergen.
https://github.com/volkszaehler/vzlogger/pull/22

> um den prozess mal etwas zu dokumentieren:
> 
> # 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...

also habe ich jetzt alles nochmal von vorne angefangen,
und das zeug diesmal in meinen eigenen fork gemerged.
(oben aendert sich nur die URL bei 'clone').
jetzt koennen wir auch den lokalen branch zu github hochladen,
und dann dort einen pull-request dafuer stellen.

tthuermer at mc12[/tmp/vzlogger_r00t]$ git checkout peterevertz-master
Already on 'peterevertz-master'
tthuermer at mc12[/tmp/vzlogger_r00t]$ git push -u origin peterevertz-master
Counting objects: 152, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (21/21), done.
Writing objects: 100% (119/119), 18.34 KiB, done.
Total 119 (delta 102), reused 114 (delta 98)
To https://github.com/r00t-/vzlogger.git
 * [new branch]      peterevertz-master -> peterevertz-master
Branch peterevertz-master set up to track remote branch peterevertz-master from origin.

(geklaut von: http://www.mariopareja.com/blog/archive/2010/01/11/how-to-push-a-new-local-branch-to-a-remote.aspx )
dann im web-interface auf github zum branch navigieren und pull-request oeffnen

- Thorben


More information about the volkszaehler-dev mailing list