Changes between Version 54 and Version 55 of StartModMaint


Ignore:
Timestamp:
Dec 28, 2013, 3:49:07 PM (9 years ago)
Author:
Beman Dawes
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • StartModMaint

    v54 v55  
    2222 * {{{b2}}} in your path. That allows the command line examples given here to work as shown on both Windows and POSIX-like systems.
    2323
     24== One-time tasks after conversion from Subversion ==
     25
     26 || '''Important:''' You need to [wiki:PostCvtMergePoint establish a master merge point] after the Subversion conversion before you start regular maintenance. ||
     27
     28If you haven't done so already, follow the instructions on [wiki:PostCvtMergePoint Establishing a merge point after Subversion Conversion].
     29
    2430== Typical maintenance tasks  ==
    2531
     
    174180git merge develop
    175181}}}
    176 
    177 == First post-svn conversion merge to {{{master}}} ==
    178 
    179 When you are ready to merge the {{{develop}}} branch to {{{master}}} (or better yet a release branch that's branched off {{{master}}}), there's a bit of housekeeping to be done the first time after the conversion from svn so that future merges proceed smoothly.  We're going to create a merge point between
    180 the develop and master branches so that Git knows the last point the two branches were in synch.  Once we've done that Git will perform a merge by replaying the commits on develop on top of master, starting from the last known merge: in other words Git will perform the tricky stuff of figuring out what to merge for us.
    181 
    182 * Navigate to the history for your library on !GitHub, starting with branch master. For example the Config library [https://github.com/boostorg/config/commits/master can be seen here].
    183 * Look down through the commit history and make a note of the last merge in svn land. In our example, it was on October 25th 2013.
    184 * Use the dropdown box to change the history to point to the develop branch. [https://github.com/boostorg/config/commits/develop Config library can be seen here].
    185 * Find the last commit '''before the date noted above'''. Click on the commit message for that commit to go to the actual diff for that change, [https://github.com/boostorg/config/commit/67f6b934f161dc5da2039004986a14d9217afae4 in our example here].  The SHA1 for that commit is shown below and to the right of the commit message, in this case it's {{{67f6b934f161dc5da2039004986a14d9217afae4}}}. Copy that SHA1 to your clipboard.
    186 
    187 Create a merge to that specific commit. Begin by changing your library to the master branch:
    188 
    189 {{{
    190 git checkout master
    191 }}}
    192 
    193 Now create a merge to the specific commit above; since we don't really want to actually change the master branch we'll use the {{{-s ours}}} option to avoid any conflicts:
    194 
    195 {{{
    196 git merge --no-ff --no-commit -s ours 67f6b934f161dc5da2039004986a14d9217afae4
    197 }}}
    198 
    199 '''Caution:''' Check any changed files carefully, particularly if you thought {{{master}}} was up-to-date. You can use {{{git status}}} and {{{git diff}}} to check for modifications. In the example case there are none. If all is as expected, make the commit and push to !GitHub:
    200 
    201 {{{
    202 git commit -am "Create first merge point for Git"
    203 git push
    204 }}}
    205 
    206 Then navigate to your libraries history again, and check that the merge shows up, [https://github.com/boostorg/config/commits/master our config example is here].
    207 You're now ready for "routine" merges to proceed as per Git Flow (or whatever other strategy you wish to use).
    208182
    209183=== Lightweight library release ===