Difference between revisions of "git migration"

From Free Pascal wiki
(What part of SVN to migrate ?)
Line 5: Line 5:
 
*  More is better. <br/> Jonas has a very complete git mirror of the SVN+CVS part.<br/> (care needs to be taken: there used to be a time when copyrighted code was checked in)
 
*  More is better. <br/> Jonas has a very complete git mirror of the SVN+CVS part.<br/> (care needs to be taken: there used to be a time when copyrighted code was checked in)
 
*  In order to save on diskspace, find ways to tell user how to clone only a part.
 
*  In order to save on diskspace, find ways to tell user how to clone only a part.
 
+
Use <code>git clone --depth 1</code> to get only the latest revision (with fetch, later on more revisions can be fetched if needed)
 
== Branching model ?  ==
 
== Branching model ?  ==
 
Various models exist:
 
Various models exist:
Line 28: Line 28:
 
** Requires running binary all the time, on a separate port.
 
** Requires running binary all the time, on a separate port.
 
== What about Lazarus ? ==
 
== What about Lazarus ? ==
 +
= Tool for migration =
 +
== subgit ==
 +
Advantages
 +
* very flexible
 +
* very fast (remote cloning of the whole FPC repository takes ?)
 +
Disadvantages
 +
* external java-based tool, so some dependencies
 +
== git-svn ==
 +
Advantages
 +
* included in git it self
 +
Disadvantages
 +
* less flexible
 
= Work to do =
 
= Work to do =
 
== Migrate SVN repo. ==
 
== Migrate SVN repo. ==
 
== Set up user management and permissions. ==
 
== Set up user management and permissions. ==
 
== Set up and automate github mirror ==
 
== Set up and automate github mirror ==

Revision as of 17:12, 16 December 2017

This page is about migrating FPC from SVN to git

Concerns/Questions

What part of SVN to migrate ?

  • More is better.
    Jonas has a very complete git mirror of the SVN+CVS part.
    (care needs to be taken: there used to be a time when copyrighted code was checked in)
  • In order to save on diskspace, find ways to tell user how to clone only a part.

Use git clone --depth 1 to get only the latest revision (with fetch, later on more revisions can be fetched if needed)

Branching model ?

Various models exist:

 Something like the current one
 or a different one?

User management ?

Git has no concept of users. To manage permissions on a server, a separate program is needed.

gitorious

  • Advantages
    • uses git repo for administration
    • No server binary
  • Disadvantages
    • No web interface
    • administration needs ssh key, only ssh possible.
    • Web integration ?

gitea

  • Advantages
    • Web based
    • Fine tuning possible
  • Disadvantages
    • Separate config
    • Requires running binary all the time, on a separate port.

What about Lazarus ?

Tool for migration

subgit

Advantages

  • very flexible
  • very fast (remote cloning of the whole FPC repository takes ?)

Disadvantages

  • external java-based tool, so some dependencies

git-svn

Advantages

  • included in git it self

Disadvantages

  • less flexible

Work to do

Migrate SVN repo.

Set up user management and permissions.

Set up and automate github mirror