Diff for /wikisrc/gitsofar.mdwn between versions 1.1 and 1.9

version 1.1, 2015/02/01 02:25:27 version 1.9, 2019/09/02 19:29:52
Line 1 Line 1
 == NetBSD with git so far  ## NetBSD with git so far
   
 http://mail-index.netbsd.org/tech-repository/2015/01/04/msg000497.html  * [[mailing-lists/tech-repository]]
   * [[projects/project/cvs-migration]]
   * [2011-10: Fossilizing NetBSD: The road to modern version control](https://2011.eurobsdcon.org/papers/sonnenberger/fossilizing.pdf)
   * [2015-01: Core statement on version control systems](http://mail-index.netbsd.org/tech-repository/2015/01/04/msg000497.html)
   * [2017-06: New home for the repository conversion](http://mail-index.netbsd.org/tech-repository/2017/06/10/msg000637.html)
   * [2017-09: pkgsrc Commit Message Policy](http://mail-index.netbsd.org/pkgsrc-users/2017/09/12/msg025574.html)
   * [GitHub.com/NetBSD](https://github.com/NetBSD)
   
 === Low memory hosts:  ### Low memory hosts:
 * http://mail-index.netbsd.org/tech-repository/2015/01/08/msg000520.html  
   * [tuning for git on low memory](http://mail-index.netbsd.org/tech-repository/2015/01/08/msg000520.html)
   
 git appears to have slightly different memory characteristics depending on the  git appears to have slightly different memory characteristics depending on the
 protocol used.  Over http I am able to get a full clone with all history on a  protocol used.  Over http I am able to get a full clone with all history on a
Line 21  git is slow during 'status' by default s Line 28  git is slow during 'status' by default s
 change.  It will produce a warning with tunable options if the command runs  change.  It will produce a warning with tunable options if the command runs
 slowly.  slowly.
   
 === CVS in parallel  *Update*
   
   After some complaining on the git@ mailing list a patch has been produced which
   drops the memory requirements down quite a bit.  I can now, without much tuning,
   work on my 512 system.
   
   ### CVS in parallel
   
 I do not think this is a good idea and do not plan to advocate for it.  I do not think this is a good idea and do not plan to advocate for it.
 Git does have a cvs server built-in but I have not taken the time to set it up  Git does have a cvs server built-in but I have not taken the time to set it up
 for testing because it is slightly involved and I don't see the purpose.  for testing because it is slightly involved and I don't see the purpose.
   
 === Conversion  ### Conversion
   
 One-shot to create the new True Source.  I don't think there will be many cvs  One-shot to create the new True Source.  I don't think there will be many cvs
 hold-outs.  hold-outs.
   
 See above for CVS server provided if ongoing conversion is really desired.  See above for CVS server provided if ongoing conversion is really desired.
   
 === existing cvs dependencies  ### existing cvs dependencies
 TBD  
   is there a list of these?  build systems?
   The entire build infrastructure of NetBSD should (even without giti) change into a "jobs"-oriented workflow instead of a "server"-oriented workflow.
   
   Very recent (summer 2017) events have shown that the ability to move things around is very important.
   
   
   ### How should NetBSD be setup
   
 === How should NetBSD be setup  
 High level- private box for write master using ssh, any number of additional  High level- private box for write master using ssh, any number of additional
 systems with read-only mirrors over http:// and git://  systems with read-only mirrors over http:// and git://
   
 Also see a great description of how DragonflyBSD is setup:  Also see a great description of how DragonflyBSD is setup:<br>
 http://lists.dragonflybsd.org/pipermail/users/2015-January/207421.html  [dfbsd server setup](http://lists.dragonflybsd.org/pipermail/users/2015-January/207421.html)<br>
 http://lists.dragonflybsd.org/pipermail/users/2015-January/207422.html  [dfbsd workflows](http://lists.dragonflybsd.org/pipermail/users/2015-January/207422.html)<br>
 http://lists.dragonflybsd.org/pipermail/users/2015-January/207424.html  [dfbsd config](http://lists.dragonflybsd.org/pipermail/users/2015-January/207424.html)<br>
   
   [In 2019, FreeBSD core team has appointed a WG to explore transition from Subversion to Git.](https://www.freebsd.org/news/status/report-2019-04-2019-06.html#FreeBSD-Core-Team)
   
   ### how to install
   
 === how to install  
 git should fit into NetBSD src/tools easily.  I have not personally tested  git should fit into NetBSD src/tools easily.  I have not personally tested
 cross compilation.  cross compilation.
   
 === workflows  ### workflows
   
 See DragonflyBSD examples given above  See DragonflyBSD examples given above
   
 There are many many workflows supported in git.  For the most part I think  There are many many workflows supported in git.  For the most part I think
Line 65  for a friendly developer to add as an or Line 90  for a friendly developer to add as an or
 (git origin add future-developer http://example.com/~greatguy/src.git)  (git origin add future-developer http://example.com/~greatguy/src.git)
   
   
 === log message formats  ### log message formats
 Try to references named branches instead of sha-1's  
   Try to references named branches/tags instead of sha-1's
 Also using the dates for commits instead of commit id's  Also using the dates for commits instead of commit id's
   
 === how to convert  ### how to convert
 ESR?  
   https://github.com/netbsd/
   
   ### No lock-in
   
 === No lock-in  
 I am unable to anticipate the next generation of SCM.  I am unable to anticipate the next generation of SCM.
 Don't do anything weird like change history and we should be fine.  Don't do anything weird like change history and we should be fine.
   
 Maybe when we have 30 years of project history it will be time to consider  Maybe when we have 30 years of project history it will be time to consider
 restructuring the project.  :)  restructuring the project.  :)
   
 === Who, When, and How Long?  git is the most widely used VCS ever so it has the best chance of conversion tools existing.
 * ESR/Joerg - convert  No future tool will be able to exist without a git-conversion script.
   
   ---
   
   I think this is less a function of the tool and more a function of the project not
   allowing non-"standard" actions.
   
   ### Who, When, and How Long?
   
   * ESR/IIJ/Joerg - convert
 * sometime, eventually, maybe  * sometime, eventually, maybe
 * unknown  * assumptions/proposal:
   
   Assuming conversion starting from date(x) to freeze(y) is relatively easy, the
   refinements of Joerg/ESR conversion can continue to run in read-only mode as they
   do today.  This means the "switch" is a few hours only for:
   
   1. cvs goes read only
   2. history from last git conversion pull until now is appended
   3. cvs is turned off
   4. git is made available over ssh
   

Removed from v.1.1  
changed lines
  Added in v.1.9


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb