[En-Nut-Discussion] [Nitpicking] Merge r5894-r5896 from devnut_tiva

Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Thu Nov 20 11:35:08 CET 2014


>>>>> "Harald" == Harald Kipp <harald.kipp at egnite.de> writes:

    Harald> Hi Uwe, On 19.11.2014 19:15, Uwe Bonnes wrote:
    >> merging several patches in one is suboptimal, as this contradict the
    >> concept of small changes on a single subject. Or was the multiple
    >> merge intentional?

    Harald> Mmh, not really intentional. It's the way I'm used to do it. To
    Harald> me, this was a partly re-integration of a branch into the trunk

    Harald>  svn merge -r 5894:5896

    Harald> where the single

    Harald>  svn commit

    Harald> just commits the updated mergeinfo, not the underlying
    Harald> patches. In a similar way like

    Harald>  svn --reintegrate

    Harald> is committed in a single step.

    Harald> Is there any other way than the following to do that?

    Harald>  svn merge -r 5894 svn commit svn merge -r 5895 svn commit svn
    Harald> merge -r 5896 svn commit

    Harald> For just 3 merges this might be acceptable, but how to do it, if
    Harald> I want to merge several hundred revisions?

Again I suppose the local-git/global-svn workflow.

In that case I suppose you locally create a tracking branch while you are in
the origin branch, containing the several hundred revisions you want to a
add. Switch to the target branch and interactive rebase up to the merge
point, manually erasing the lines containing unrelated changes.

Otherwise if you have a list of revisions you want, some script resolving
the revisions via 
git svn find-rev in the origin branch
and then applying the resulting hashes via
git cherry-pick <hash>  in the target branch would do the work.

And still everything is only local, so now need for extra revert revisions
if something went wrong.

git rebase --whitespace=fix <mergining point> would also get rid for
trailing whitespace in the target tree introduces from  the origin branch.

Finally when everything is fine, in master you do
git merge <targetbranch>
git svn dcommit.

Cheers

B.t.w. I just uploaded a recent  git/svn tar file now containing also
devnut_tiva to the ethernut file repository.
-- 
Uwe Bonnes                bon at elektron.ikp.physik.tu-darmstadt.de

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


More information about the En-Nut-Discussion mailing list