Move to git: Difference between revisions

From vice-emu
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 7: Line 7:
* We'll have to agree on a development model. The most important difference to working with SVN is likely that usually with GIT you will NOT directly commit to the main tree, but always use a branch which is then merged into the tree.
* We'll have to agree on a development model. The most important difference to working with SVN is likely that usually with GIT you will NOT directly commit to the main tree, but always use a branch which is then merged into the tree.
** That said, with cc65 we use a bit relaxed approach: "big" changes are made using branches und pull request, trivial things (fixing typos etc) can be pushed directly to the main tree
** That said, with cc65 we use a bit relaxed approach: "big" changes are made using branches und pull request, trivial things (fixing typos etc) can be pushed directly to the main tree
* The branches that exist in the SVN repo must be converted to proper GIT branches
** Most importantly the "tags" (which are really just SVN branches) should be converted to GIT tags


* Some documentation must be updated to show the GIT commands instead of the SVN commands
* Some documentation must be updated to show the GIT commands instead of the SVN commands
Line 16: Line 13:


* The switch needs to be seamless, so we don't have a long interruption where no one can work on the code. That means everything needs to be tested and fixed before we do that
* The switch needs to be seamless, so we don't have a long interruption where no one can work on the code. That means everything needs to be tested and fixed before we do that
== TODOs ==
* To make the transition as seamless and error free as possible, a script should be written that:
** creates the initial git repository (locally)
** converts svn commits into git commits
** The branches that exist in the SVN repo must be converted to proper GIT branches
** Most importantly the "tags" (which are really just SVN branches) should be converted to GIT tags
* the testprogs and techdocs repositories can probably be just 1:1 converted into seperate git repositories


[[Category:TODO]]
[[Category:TODO]]
[[Category:Developer]]
[[Category:Developer]]

Revision as of 13:22, 24 May 2023

We want to move the repository to git(hub). Before that can happen, a couple things need to be done:

  • We need to establish a way to produce a simple increasing numbering scheme that can replace the SVN revision. This number must be easily relatable to GIT hashes, by both users and developers, without having to enter weird git commands or something similar.
    • Several scripts in the tree use the SVN revision, or other SVN things. These all have to be fixed to use the above
  • We'll have to agree on a development model. The most important difference to working with SVN is likely that usually with GIT you will NOT directly commit to the main tree, but always use a branch which is then merged into the tree.
    • That said, with cc65 we use a bit relaxed approach: "big" changes are made using branches und pull request, trivial things (fixing typos etc) can be pushed directly to the main tree
  • Some documentation must be updated to show the GIT commands instead of the SVN commands
    • howto-release.txt
    • probably some things in docs/building
  • The switch needs to be seamless, so we don't have a long interruption where no one can work on the code. That means everything needs to be tested and fixed before we do that

TODOs

  • To make the transition as seamless and error free as possible, a script should be written that:
    • creates the initial git repository (locally)
    • converts svn commits into git commits
    • The branches that exist in the SVN repo must be converted to proper GIT branches
    • Most importantly the "tags" (which are really just SVN branches) should be converted to GIT tags
  • the testprogs and techdocs repositories can probably be just 1:1 converted into seperate git repositories