dev:meetings:2011-04-30
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| dev:meetings:2011-04-30 [2011/05/02 16:08] – dumped Asciidoc minutes from dev git meeting dbs | dev:meetings:2011-04-30 [2022/02/10 13:34] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Git / Evergreen development discussion notes ====== | + | ====== Git / Evergreen development discussion notes ====== |
| Git tracks commits - includes metadata such as description, | Git tracks commits - includes metadata such as description, | ||
| Line 5: | Line 5: | ||
| ===== Key #1 to workflow ===== | ===== Key #1 to workflow ===== | ||
| - | * If git complains about a non-fast-forward update, DO NOT FORCE A COMMIT! | + | * If git complains about a non-fast-forward update, DO NOT FORCE A PUSH! |
| - | * *ACTION*: Prevent non-fast-forward updates on main topic branches (branches that have been shared with the world) | + | |
| - | * *ACTION*: Adopt naming convention for branches that should not be pulled from | + | |
| - | * For example, | + | * For example, |
| * lp####### for a branch for a Launchpad bug | * lp####### for a branch for a Launchpad bug | ||
| - | * dbs would start with dbs/ | + | * dbs would start with '' |
| - | * then backport to dbs/ | + | * then backport to '' |
| ===== Central repository as collection point ===== | ===== Central repository as collection point ===== | ||
| Line 18: | Line 18: | ||
| * To set up a new non-main tree generally requires interested party to send the git maintainer a pubkey & email address | * To set up a new non-main tree generally requires interested party to send the git maintainer a pubkey & email address | ||
| * We would like to be reasonably open - but must assert that any committed code is a) relevant to Evergreen and b) DCO'ed and licensed under GPL v2-or-later | * We would like to be reasonably open - but must assert that any committed code is a) relevant to Evergreen and b) DCO'ed and licensed under GPL v2-or-later | ||
| - | * In the new regime, a committer would be someone who has the ability to push to main / tag | + | * In the new regime, a committer would be someone who has the ability to push to master branch and create tags |
| * Possible to give multiple people the ability to push into a single branch (eg. collaborative topic branch like MARC-must-die, | * Possible to give multiple people the ability to push into a single branch (eg. collaborative topic branch like MARC-must-die, | ||
| - | * *ACTION*: Galen will manage the git server (at least to begin with) | + | |
| - | * *ACTION*: Invite tsbere to join Galen in administering gitolite | + | |
| - | * *ACTION*: ILS-Contrib needs to move to central repository (as an ILS-contrib tree) | + | |
| ===== Workflow - squashing vs. maintaining all the ugly ===== | ===== Workflow - squashing vs. maintaining all the ugly ===== | ||
| Line 29: | Line 29: | ||
| - Make the patches comprehensible (one logical unit per patch - like a bullet point in a slide) | - Make the patches comprehensible (one logical unit per patch - like a bullet point in a slide) | ||
| - Enable the patches to make sense as a series (get rid of the ' | - Enable the patches to make sense as a series (get rid of the ' | ||
| - | * One option: *Interactive rebase* at point that QA is satisfied | + | * One option: |
| * Please continue to separate whitespace commits from substantive commits | * Please continue to separate whitespace commits from substantive commits | ||
| * Get used to the notion of having code sit in the topic branch for some time to be reviewed / tested | * Get used to the notion of having code sit in the topic branch for some time to be reviewed / tested | ||
| - | * `tig` is an ncurses-based interface for browsing the commit history | + | * '' |
| ===== For git-format-patch patches sent to the list / attached to Launchpad ===== | ===== For git-format-patch patches sent to the list / attached to Launchpad ===== | ||
| - | * git-format-patch is much nicer as it tracks metadata such as author, etc, rather than having to do it manually | + | * '' |
| * Create a local branch | * Create a local branch | ||
| - | * Use `git am` to apply the patch | + | * Use '' |
| * Test | * Test | ||
| * If the patch is perfect, push it to a public branch | * If the patch is perfect, push it to a public branch | ||
| * If the patch is 90% good, but needs fixes; commit the patch as-is and commit a follow-up patch to clean it up (this avoids merge conflicts when the patch contributor pulls from master subsequently) | * If the patch is 90% good, but needs fixes; commit the patch as-is and commit a follow-up patch to clean it up (this avoids merge conflicts when the patch contributor pulls from master subsequently) | ||
| * Patch wrangler? | * Patch wrangler? | ||
| - | * *ACTION*: Follow-up with Chris on git.evergreen-ils.org server | + | |
| ===== Rough plan ===== | ===== Rough plan ===== | ||
| - | - git-svn clone to seed the master repository (OpenSRF and ILS at the same time) | + | |
| - | * Bring tags along - but only for SVN tags, not one per revision (git-svn applies a git-svn-id with the revision number) | + | * Bring tags along - but only for SVN tags, not one per revision ('' |
| - | - Gather committers' | + | - Gather committers' |
| - | - Test repository (go or no go) | + | - Test repository (go or no go) |
| - | - Pick a weekend for cutting over (at least a week after release: Galen suggests Saturday, May 14) | + | - Pick a weekend for cutting over (at least a week after release: Galen suggests Saturday, May 14) |
| ===== Things that need to be done: ===== | ===== Things that need to be done: ===== | ||
| - | * Modify Web site references to SVN | + | |
| - | * Contributing document (update references, git-format-patch) | + | * Contributing document (update references, git-format-patch) |
| - | * Policies for being added to the repo server | + | * Policies for being added to the repo server |
| - | * Suggested naming conventions | + | * Suggested naming conventions |
| - | * Statement on Evergreen interpretation of Signed-off-by | + | * Statement on Evergreen interpretation of Signed-off-by |
| - | * Wiki references to SVN | + | * Wiki references to SVN **UPDATE 2011-05-14: major references updated; still a number of minor references to clean up** |
| - | * Check codebase for SVN references (such as staff client installer auto build ID) | + | * Check codebase for SVN references (such as staff client installer auto build ID) **UPDATE 2011-05-14; direct references removed; phasefx and tsbere looking at the build ID issue** |
| - | * DIG manual references | + | * DIG manual references |
| - | * Blog post / mailing list | + | * Blog post / mailing list **DONE** |
| - | * Make SVN Trac page say " | + | * Make SVN Trac page say " |
| - | * Teach continuous integration server about git | + | * Teach continuous integration server about git **DONE** |
| - | * Freshmeat / Ohloh / Launchpad | + | * Freshmeat |
| + | * (Per comment by Jeff Godin on 2011-05-02) set up master to send updates to Evergreen commits mailing list. **DONE tsbere++** | ||
dev/meetings/2011-04-30.1304366887.txt.gz · Last modified: 2022/02/10 13:34 (external edit)