|
| 1 | +A couple basic rules about the maintainence of eg: |
| 2 | + |
| 3 | + 0) I'm a bloody horrible maintainer, sometimes going for months without |
| 4 | + responding to inquiries/patches. Yeah, I know, I deserve to be |
| 5 | + replaced. Sorry. Also, I turn down some good ideas. And some good |
| 6 | + ideas that I turn down I suddenly change my mind on a year later. |
| 7 | + |
| 8 | + 1) At any given time, all the tests should pass *if* running with |
| 9 | + corresponding git and eg versions (run 'eg --version' to check). To |
| 10 | + run the tests: |
| 11 | + |
| 12 | + # See t/README for more details; note that the tests |
| 13 | + cd t/ |
| 14 | + make -j2 |
| 15 | + |
| 16 | + 2) Version numbers (appearing on or near lines 4 & 27 of eg) |
| 17 | + a) For a release, the version number of eg should match the version of |
| 18 | + git it was tested against, see below for more details. (New rule |
| 19 | + since v1.6.5.2) |
| 20 | + b) After a release of eg, the version string should have ".dev" |
| 21 | + appended to it. |
| 22 | + |
| 23 | + 3) Having eg be tested against a certain version of git means both that |
| 24 | + the given version of git was in the path, but also that the tests were |
| 25 | + merged with the given version of git.git's t/ subdirectory (and |
| 26 | + updated as needed for eg-specific changes). To merge with git.git's |
| 27 | + changes to t/: |
| 28 | + |
| 29 | + # Preliminaries |
| 30 | + tempdir=~/temp # or whatever |
| 31 | + testversion=v1.6.5.2 |
| 32 | + |
| 33 | + # Make a "filtered" clone of git.git's tests (all tagged releases anyway) |
| 34 | + git init --bare $tempdir |
| 35 | + cd /path/to/git.git/clone |
| 36 | + git fast-export $(git tag | grep -e $'^v[0-9\.]*$') \ |
| 37 | + --signed-tags=strip --tag-of-filtered-object=rewrite -- t/ \ |
| 38 | + | (cd $tempdir && git fast-import --quiet --force) |
| 39 | + |
| 40 | + # Fetch this test history into the local eg project |
| 41 | + cd /path/to/eg |
| 42 | + eg remote add testing $tempdir |
| 43 | + eg config remote.testing.fetch +refs/tags/*:refs/remotes/git/* |
| 44 | + eg fetch --no-tags testing |
| 45 | + |
| 46 | + # Merge any new changes from the relevant version |
| 47 | + eg merge git/$testversion |
| 48 | + |
| 49 | + # Then, fix up any tests (particularly the needed -b flag to commit) |
| 50 | + # as needed and test and commit. |
0 commit comments