@@ -1870,6 +1870,22 @@ <h2 id="use-a-migration-script">Use a migration script<a class="headerlink" href
18701870</ span > </ code > </ pre > </ div >
18711871< p > Make sure that the version (< code > refs/heads/v0.x.x</ code > ) matches the
18721872target version you are migrating to.</ p >
1873+ < div class ="admonition tip ">
1874+ < p class ="admonition-title "> Tip for MacOS users</ p >
1875+ < p > The migration script may not work out of the box on macOS. You need to
1876+ install < code > coreutils</ code > to ensure compatibility:</ p >
1877+ < div class ="language-sh highlight "> < pre > < span > </ span > < code > < span id ="__span-1-1 "> < a id ="__codelineno-1-1 " name ="__codelineno-1-1 " href ="#__codelineno-1-1 "> </ a > brew< span class ="w "> </ span > install< span class ="w "> </ span > coreutils< span class ="w "> </ span > gnu-sed
1878+ </ span > </ code > </ pre > </ div >
1879+ < p > After installation, update your < code > PATH</ code > in your shell configuration
1880+ (e.g. ~/.zshrc) so that the system uses the GNU versions. Depending on
1881+ where the packages are installed this might look like this:</ p >
1882+ < div class ="language-sh highlight "> < pre > < span > </ span > < code > < span id ="__span-2-1 "> < a id ="__codelineno-2-1 " name ="__codelineno-2-1 " href ="#__codelineno-2-1 "> </ a > < span class ="nb "> export</ span > < span class ="w "> </ span > < span class ="nv "> PATH</ span > < span class ="o "> =</ span > < span class ="s2 "> "/opt/homebrew/opt/coreutils/libexec/gnubin:/opt/homebrew/opt/gnu-sed/libexec/gnubin:</ span > < span class ="nv "> $PATH</ span > < span class ="s2 "> "</ span >
1883+ </ span > < span id ="__span-2-2 "> < a id ="__codelineno-2-2 " name ="__codelineno-2-2 " href ="#__codelineno-2-2 "> </ a > < span class ="nb "> export</ span > < span class ="w "> </ span > < span class ="nv "> MANPATH</ span > < span class ="o "> =</ span > < span class ="s2 "> "/opt/homebrew/opt/coreutils/libexec/gnuman:</ span > < span class ="nv "> $MANPATH</ span > < span class ="s2 "> "</ span >
1884+ </ span > </ code > </ pre > </ div >
1885+ < p > Then, source your configuration file again to apply the changes:</ p >
1886+ < div class ="language-sh highlight "> < pre > < span > </ span > < code > < span id ="__span-3-1 "> < a id ="__codelineno-3-1 " name ="__codelineno-3-1 " href ="#__codelineno-3-1 "> </ a > < span class ="nb "> source</ span > < span class ="w "> </ span > ~/.zshrc< span class ="w "> </ span > < span class ="c1 "> # or ~/.bashrc, depending on your shell</ span >
1887+ </ span > </ code > </ pre > </ div >
1888+ </ div >
18731889< h2 id ="re-run-the-cookiecutter-command "> Re-run the Cookiecutter command< a class ="headerlink " href ="#re-run-the-cookiecutter-command " title ="Permanent link "> ¤</ a > </ h2 >
18741890< p > If you are upgrading a very old project (jumping multiple versions at the time)
18751891it is probably easier to just regenerate the whole project.</ p >
@@ -1890,14 +1906,14 @@ <h2 id="re-run-the-cookiecutter-command">Re-run the Cookiecutter command<a class
18901906 running the < code > cookiecutter</ code > command for the update.</ li >
18911907</ ul >
18921908</ div >
1893- < div class ="language-sh highlight "> < pre > < span > </ span > < code > < span id ="__span-1 -1 "> < a id ="__codelineno-1 -1 " name ="__codelineno-1 -1 " href ="#__codelineno-1 -1 "> </ a > git< span class ="w "> </ span > commit< span class ="w "> </ span > -a< span class ="w "> </ span > < span class ="c1 "> # commit all changes</ span >
1894- </ span > < span id ="__span-1 -2 "> < a id ="__codelineno-1 -2 " name ="__codelineno-1 -2 " href ="#__codelineno-1 -2 "> </ a > < span class ="nb "> cd</ span > < span class ="w "> </ span > ..
1895- </ span > < span id ="__span-1 -3 "> < a id ="__codelineno-1 -3 " name ="__codelineno-1 -3 " href ="#__codelineno-1 -3 "> </ a > cookiecutter< span class ="w "> </ span > gh:frequenz-floss/frequenz-repo-config-python< span class ="w "> </ span > < span class ="se "> \</ span >
1896- </ span > < span id ="__span-1 -4 "> < a id ="__codelineno-1 -4 " name ="__codelineno-1 -4 " href ="#__codelineno-1 -4 "> </ a > < span class ="w "> </ span > --directory< span class ="o "> =</ span > cookiecutter< span class ="w "> </ span > < span class ="se "> \</ span >
1897- </ span > < span id ="__span-1 -5 "> < a id ="__codelineno-1 -5 " name ="__codelineno-1 -5 " href ="#__codelineno-1 -5 "> </ a > < span class ="w "> </ span > --checkout< span class ="w "> </ span > v0.x.x< span class ="w "> </ span > < span class ="se "> \</ span >
1898- </ span > < span id ="__span-1 -6 "> < a id ="__codelineno-1 -6 " name ="__codelineno-1 -6 " href ="#__codelineno-1 -6 "> </ a > < span class ="w "> </ span > --overwrite-if-exists< span class ="w "> </ span > < span class ="se "> \</ span >
1899- </ span > < span id ="__span-1 -7 "> < a id ="__codelineno-1 -7 " name ="__codelineno-1 -7 " href ="#__codelineno-1 -7 "> </ a > < span class ="w "> </ span > --replay< span class ="w "> </ span > < span class ="se "> \</ span >
1900- </ span > < span id ="__span-1 -8 "> < a id ="__codelineno-1 -8 " name ="__codelineno-1 -8 " href ="#__codelineno-1 -8 "> </ a > < span class ="w "> </ span > --replay-file< span class ="w "> </ span > project-directory/.cookiecutter-replay.json
1909+ < div class ="language-sh highlight "> < pre > < span > </ span > < code > < span id ="__span-4 -1 "> < a id ="__codelineno-4 -1 " name ="__codelineno-4 -1 " href ="#__codelineno-4 -1 "> </ a > git< span class ="w "> </ span > commit< span class ="w "> </ span > -a< span class ="w "> </ span > < span class ="c1 "> # commit all changes</ span >
1910+ </ span > < span id ="__span-4 -2 "> < a id ="__codelineno-4 -2 " name ="__codelineno-4 -2 " href ="#__codelineno-4 -2 "> </ a > < span class ="nb "> cd</ span > < span class ="w "> </ span > ..
1911+ </ span > < span id ="__span-4 -3 "> < a id ="__codelineno-4 -3 " name ="__codelineno-4 -3 " href ="#__codelineno-4 -3 "> </ a > cookiecutter< span class ="w "> </ span > gh:frequenz-floss/frequenz-repo-config-python< span class ="w "> </ span > < span class ="se "> \</ span >
1912+ </ span > < span id ="__span-4 -4 "> < a id ="__codelineno-4 -4 " name ="__codelineno-4 -4 " href ="#__codelineno-4 -4 "> </ a > < span class ="w "> </ span > --directory< span class ="o "> =</ span > cookiecutter< span class ="w "> </ span > < span class ="se "> \</ span >
1913+ </ span > < span id ="__span-4 -5 "> < a id ="__codelineno-4 -5 " name ="__codelineno-4 -5 " href ="#__codelineno-4 -5 "> </ a > < span class ="w "> </ span > --checkout< span class ="w "> </ span > v0.x.x< span class ="w "> </ span > < span class ="se "> \</ span >
1914+ </ span > < span id ="__span-4 -6 "> < a id ="__codelineno-4 -6 " name ="__codelineno-4 -6 " href ="#__codelineno-4 -6 "> </ a > < span class ="w "> </ span > --overwrite-if-exists< span class ="w "> </ span > < span class ="se "> \</ span >
1915+ </ span > < span id ="__span-4 -7 "> < a id ="__codelineno-4 -7 " name ="__codelineno-4 -7 " href ="#__codelineno-4 -7 "> </ a > < span class ="w "> </ span > --replay< span class ="w "> </ span > < span class ="se "> \</ span >
1916+ </ span > < span id ="__span-4 -8 "> < a id ="__codelineno-4 -8 " name ="__codelineno-4 -8 " href ="#__codelineno-4 -8 "> </ a > < span class ="w "> </ span > --replay-file< span class ="w "> </ span > project-directory/.cookiecutter-replay.json
19011917</ span > </ code > </ pre > </ div >
19021918< p > This will create a new commit with all the changes to the overwritten files.
19031919Bear in mind that all the < code > TODO</ code > s will come back, so there will be quite a bit
0 commit comments