[En-Nut-Discussion] devnut_m3n: Merging to trunk, the SVN way

Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Sun Mar 11 14:17:20 CET 2012


Hello,

in a tour-de-force approach, I single stepped through all trunk versions 
since r3185 (last merge trunk-> branch) and merged trunk to branch. Sinle
step is needed, as svn merge only creates/moves/delets files and directories
when merging the exact version where the change took place. This
took about 25 seconds at best for each revision and much longer with many
files involved or when decisions about resolution of conflicts was
needed. Appended is a list of all resolutions to tree conflicts and file
conflicts I took. For resulting file conflicts, "MC" means I took the branch
version for the resolution, "E" means I edited the diff.  "C" means a tree
conflict, mostly when trunk moved files and directories. When starting, I
mostly took the "MC" approach. Looking back I think editing would have been
better choice. However the list of files with file-conflicts is not too. So
manual control on these files could be an option.

Is this some approach we can work on? How should I proceed? 

- No need to proceed, the approach is senseless?
- Show the diffs of the files with conflicts against trunk and original branch?
- Put up the merged branch somewhere
- Check-in the resulting 1700 changesets to branch in one batch?

If there is consense that the approach makes sense in our quest to merge
branch->trunk, I would even be willing to restart. Perhaps checking in
each merge result just before and just after some conflict was resolved
could make the review easier. This would give about 100 revisions in SVN for
the merge trunk->branch. Other ideas?

Bye
-- 
Uwe Bonnes                bon at elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
3185: Start

3188: MC devnut_m3n/nut/arch/arm/dev/dm9000e.c
3194: MC devnut_m3n/nut/tools/packaging/distcheck.lua
3260: E  svn:ignore Use all files
3261: E  devnut_m3n/nut/conf/at91sam7x-ek.conf Use additional item
      D  devnut_m3n/nut/Makevars.arm-gcc
3305: MC devnut_m3n/nut/app/led_key/pbtest.c
3306: MC devnut_m3n/nut/app/icmp-udp/icmp-udp.c
3307: MC devnut_m3n/nut/app/pppc/pppc.c
3308: E  devnut_m3n/nut/app/Makefile
3310:  C devnut_m3n/nut/tools/Xloader7 
         svn revert --depth infinity devnut_m3n/nut/tools/Xloader7
         svn del --force devnut_m3n/nut/tools/Xloader7
3340: MC devnut_m3n/nut/tools/qnutconf/dirtraverser.cpp
      MC devnut_m3n/nut/tools/qnutconf/mainwindow.cpp
      MC devnut_m3n/nut/tools/qnutconf/dirtraverser.h
3341: MC devnut_m3n/nut/tools/qnutconf/dirtraverser.cpp
3342: MC devnut_m3n/nut/tools/qnutconf/mainwindow.h
      MC devnut_m3n/nut/tools/qnutconf/mainwindow.cpp

      C devnut_m3n/nut/tools/qnutconf/finddialog.cpp
      C devnut_m3n/nut/tools/qnutconf/images/search_large.png
      C devnut_m3n/nut/tools/qnutconf/finddialog.ui
      C devnut_m3n/nut/tools/qnutconf/finddialog.h
      svn revert
3344: MC devnut_m3n/nut/tools/qnutconf/mainwindow.cpp
3346: MC devnut_m3n/nut/app/pppc/pppc.c
3349: E devnut_m3n/nut/app/Makefile  Use commented out
3360: MC devnut_m3n/nut/app/led_key/pbtest.c
3365: MC devnut_m3n/nut/app/led_key/pbtest.c
3370: C devnut_m3n/nut/boot/Xloader7/
        svn revert --depth infinity  devnut_m3n/nut/boot/Xloader7/
        svn del --force devnut_m3n/nut/boot/Xloader7
3427: E devnut_m3n/nut/conf/tools.nut
        nuttools_gccopt section added
3428: E devnut_m3n/nut/doc/gen/nut_en.cfg.in
        Longer directory list from wroking taken
3449:    C devnut_m3n/nut/arch/arm/dev/at91_emac.c
         C devnut_m3n/nut/arch/arm/dev/at91sam7x_emac.c
         C devnut_m3n/nut/arch/arm/dev/gpio_at91.c
         C devnut_m3n/nut/arch/arm/dev/at91_twi.c
         Copy version from arm/dev/ to arm/dev/atmel
         svn revert /svn  delete version in arm/dev
3469: E devnut_m3n/nut/arch/arm/dev/atmel/at91_emac.c
        Use symbolic constants
3470: E devnut_m3n/nut/os/timer.c
3524: C devnut_m3n/nut/Makerules.arm-ecross-gccdbg
      C devnut_m3n/nut/Makedefs.arm-ecross-gcc
      C devnut_m3n/nut/Makedefs.arm-ecross-gcc
      svn revert/ scn del
3525: C devnut_m3n/nut/app/Makerules.arm-ecross-gcc
      C devnut_m3n/nut/app/Makedefs.arm-ecross-gccdbg
      C devnut_m3n/nut/app/Makedefs.arm-ecross-gcc
      svn revert
3527: C devnut_m3n/nut/Makerules.arm-ecross-gcc
      C devnut_m3n/nut/Makedefs.arm-ecross-gccdbg
      svn revert
3528: C devnut_m3n/nut/app/Makerules.arm-ecross-gccdbg
      C devnut_m3n/nut/app/Makevars.arm-ecross-gcc
      svn revert
3529: svn:ignore Use all files
3586: svn:ignore Use all files
3587: svn:ignore Use all files
3588: svn:ignore Use all files
3589: svn:ignore Use smaller selection (only qnutconf.exe)
      C devnut_m3n/nut/app/eeprom
      >   lokal editiert, eingehend gelöscht bei Zusammenführung
      C devnut_m3n/nut/app/ioexpander
      >   lokal editiert, eingehend gelöscht bei Zusammenführung
      C devnut_m3n/nut/app/canbus
      >   lokal editiert, eingehend gelöscht bei Zusammenführung
      C devnut_m3n/nut/app/led_key
      >   lokal editiert, eingehend gelöscht bei Zusammenführung
      svn revert --depth infinity/svn del --force
      References in devnut_m3n/nut/app/Makefile  removed
3604: E devnut_m3n/nut/conf/dev/dev.nut
      macro = "FLASH_CONF_SECTOR": 
                default = "0x6000",
                file = "include/cfg/memory.h"
      choosen		
3611: devnut_m3n/nut/app/Makefile
      Choose cm3 related files
3618: E devnut_m3n/nut/conf/repository.nut 
      choose all devices
3630: C devnut_m3n/nut/Makedefs.gcc
      >   lokal editiert, eingehend gelöscht bei Zusammenführung
      svn del devnut_m3n/nut/Makedefs.gcc
3634: E devnut_m3n/nut/dev/dm9000.c
#include <dev/irqreg.h>
<<<<<<< .working
#include <dev/phy.h>
#include <dev/dm9000e.h>
=======
#include <dev/dm9000.h>
>>>>>>> .merge-rechts.r3634
 Choose working
3656: Edevnut_m3n/nut/os/nutinit.c
 <<<<<<< .working
#elif defined(__arm__) && defined(__CORTEX__)
#include "../arch/cm3/os/nutinit_cm3.c"
=======
#endif
>>>>>>> .merge-rechts.r3656

Choose working
      E devnut_m3n/nut/conf/tools.nut 
<<<<<<< .working
        return basepath .. "arm/ldscripts"
=======
        if c_is_provided("HW_MCU_LPC1700") then
            return basepath .. "arm/lpc/lpc1700/ldscripts/$(LDNAME).ld"
        else
            return basepath .. "arm/ldscripts/$(LDNAME).ld"
        end
>>>>>>> .merge-rechts.r3656

Choose rechts

      E devnut_m3n/nut/include/arch/timer.h

#ifdef __NUT_EMULATION__
#include <arch/unix/timer.h>
#elif defined(__AVR__)
#include <arch/avr/timer.h>
#elif defined(__arm__) && !defined(__CORTEX__)
#if defined(__ARM_ARCH_7M__)
#include <arch/arm/lpc/lpc1700/timer.h>
#else
#include <arch/arm/timer.h>
<<<<<<< .working
#elif defined(__arm__) && defined(__CORTEX__)
#include <arch/cm3/timer.h>
=======
#endif
>>>>>>> .merge-rechts.r3656
#elif defined(__AVR32__)
#include <arch/avr32/timer.h>
#elif defined(__H8300H__) || defined(__H8300S__)
#include <arch/h8300h/timer.h>
#elif defined(__m68k__)
#include <arch/m68k/timer.h>
#endif

Edit to
#ifdef __NUT_EMULATION__
#include <arch/unix/timer.h>
#elif defined(__AVR__)
#include <arch/avr/timer.h>
#elif defined(__CORTEX__)
#include <arch/cm3/timer.h>
#elif defined(__arm__) && !defined(__CORTEX__)
#if defined(__ARM_ARCH_7M__)
#include <arch/arm/lpc/lpc1700/timer.h>
#else
#include <arch/arm/timer.h>
#endif
#elif defined(__AVR32__)
#include <arch/avr32/timer.h>
#elif defined(__H8300H__) || defined(__H8300S__)
#include <arch/h8300h/timer.h>
#elif defined(__m68k__)
#include <arch/m68k/timer.h>
#endif


     E devnut_m3n/nut/include/dev/irqreg.h

as above

     E devnut_m3n/nut/include/sys/atom.h
as above

3660:C devnut_m3n/nut/app/playmp3 
      C devnut_m3n/nut/app/playmp3
      >   lokal editiert, eingehend gelöscht bei Zusammenführung

devel/merge> svn status devnut_m3n/ | less
devel/merge> svn revert --depth infinity devnut_m3n/nut/app/playmp3

3670: E devnut_m3n/nut/doc/gen/nut_en.cfg.in
      Choose right(

3683: E devnut_m3n/nut/net/ifconfig.c
        Remove BSD clause
3695: 
 M    C devnut_m3n/nut/include/cfg/sht21.h
      >   lokal hinzugefügt, eingehend hinzugefügt bei Zusammenführung
 M    C devnut_m3n/nut/include/cfg/mma745x.h
      >   lokal hinzugefügt, eingehend hinzugefügt bei Zusammenführung
 M    C devnut_m3n/nut/include/dev/mma745x.h
      >   lokal hinzugefügt, eingehend hinzugefügt bei Zusammenführung
 M    C devnut_m3n/nut/include/dev/sht21.h
      >   lokal hinzugefügt, eingehend hinzugefügt bei Zusammenführung

     svn revert

3723: devnut_m3n/nut/dev/eeprom.c
<<<<<<< .working
    at24c32s.PageSize = AT24C_ROW_SIZE;
    at24c32s.EepromSize = AT24C_CHIP_SIZE;
=======
    at24c32s.PageSize = 32;
    at24c32s.EepromSize = 32*128;
>>>>>>> .merge-rechts.r3723

Choose working

3786: E devnut_m3n/configure.ac
<<<<<<< .working
AC_INIT(ethernut,4.99.0)
=======
AC_INIT(ethernut,5.0.1)
>>>>>>> .merge-rechts.r3786
 Choose rechts

3841:       C devnut_m3n/nut/tools/qnutconf/images
      >   lokal editiert, eingehend gelöscht bei Zusammenführung
M     C devnut_m3n/nut/tools/qnutconf/dirtraverser.cpp
      >   lokal editiert, eingehend gelöscht bei Zusammenführung
svn revert , svn del --force
3891:A  +  C devnut_m3n/nut/include/uhttp
      >   lokal editiert, eingehend gelöscht bei Zusammenführung

      svn revert --depth infinity /svn del --force 


     



More information about the En-Nut-Discussion mailing list