version 1.1, 2015/02/01 02:25:27
|
version 1.8, 2019/09/02 05:44:21
|
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 |
* [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 25 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 87 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 |
|
|