1: ## NetBSD with git so far
2:
3: [core statement on vcs](http://mail-index.netbsd.org/tech-repository/2015/01/04/msg000497.html)
4:
5: ### Low memory hosts:
6:
7: * [tuning for git on low memory](http://mail-index.netbsd.org/tech-repository/2015/01/08/msg000520.html)
8:
9: git appears to have slightly different memory characteristics depending on the
10: protocol used. Over http I am able to get a full clone with all history on a
11: 256 + 256 raspberri pi. If you bump up the memory to 512 + 256 it makes ssh
12: possible, which means writes are possible.
13:
14: The link above has some tuning I used to get memory requirements way down.
15:
16: It should be noted that git support a "shallow" clone (--depth 1) which ignores
17: most history but allows commits and full development.
18: A shallow clone works on very small systems; I would guess 128MB + a little swap
19: is enough.
20:
21: git is slow during 'status' by default since it searches the entire tree for a
22: change. It will produce a warning with tunable options if the command runs
23: slowly.
24:
25: ### CVS in parallel
26:
27: I do not think this is a good idea and do not plan to advocate for it.
28: Git does have a cvs server built-in but I have not taken the time to set it up
29: for testing because it is slightly involved and I don't see the purpose.
30:
31: ### Conversion
32:
33: One-shot to create the new True Source. I don't think there will be many cvs
34: hold-outs.
35:
36: See above for CVS server provided if ongoing conversion is really desired.
37:
38: ### existing cvs dependencies
39:
40: TBD
41:
42: ### How should NetBSD be setup
43:
44: High level- private box for write master using ssh, any number of additional
45: systems with read-only mirrors over http:// and git://
46:
47: Also see a great description of how DragonflyBSD is setup:
48: [dfbsd server setup](http://lists.dragonflybsd.org/pipermail/users/2015-January/207421.html)
49: [dfbsd workflows](http://lists.dragonflybsd.org/pipermail/users/2015-January/207422.html)
50: [dfbsd config](http://lists.dragonflybsd.org/pipermail/users/2015-January/207424.html)
51:
52: ### how to install
53:
54: git should fit into NetBSD src/tools easily. I have not personally tested
55: cross compilation.
56:
57: ### workflows
58:
59: See DragonflyBSD examples given above
60:
61: There are many many workflows supported in git. For the most part I think
62: NetBSD developers would follow the "feature branch" workflow from the main repo
63: (or private/semi-private clones before merge).
64:
65: Public collaboration is a big feature of git since it can format patches into
66: at least two different email formats and they can be submitted to a bug report
67: or to a mailing list, which should allow clean apply.
68:
69: A non-developer could also post a pull request to github or host his git repo
70: for a friendly developer to add as an origin and pull his branch.
71:
72: (git origin add future-developer http://example.com/~greatguy/src.git)
73:
74:
75: ### log message formats
76:
77: Try to references named branches instead of sha-1's
78: Also using the dates for commits instead of commit id's
79:
80: ### how to convert
81:
82: ESR?
83:
84: ### No lock-in
85:
86: I am unable to anticipate the next generation of SCM.
87: Don't do anything weird like change history and we should be fine.
88:
89: Maybe when we have 30 years of project history it will be time to consider
90: restructuring the project. :)
91:
92: ### Who, When, and How Long?
93:
94: * ESR/Joerg - convert
95: * sometime, eventually, maybe
96: * unknown
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb