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

Thorben Thuermer r00t at constancy.org
Mon Oct 7 15:09:20 CEST 2013


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...) 

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...

- Thorben


More information about the volkszaehler-dev mailing list