Skip to content

Commit

Permalink
Eliminate more Subversion tracks...
Browse files Browse the repository at this point in the history
...converting where appropriate to git references.
  • Loading branch information
eric-s-raymond committed Mar 13, 2010
1 parent 8f03fde commit ed9063e
Show file tree
Hide file tree
Showing 14 changed files with 43 additions and 119 deletions.
9 changes: 5 additions & 4 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Python 2.6 or 2.4+ & simplejson. The Python code in GPSD is 2.4-compatible
except that you need either the json library module from 2.6 or the
functionally equivalent simplejson backport.

For building from SVN, the following are necessary:
For building from the source tree, the following are necessary:
autoconf 2.61 or later
automake 1.10 or later
libtool 2.26 or later
Expand All @@ -35,9 +35,10 @@ For working with DBUS, you'll need the DBUS development
headers and libraries installed. Under Debian/Ubuntu these
are the packages ibdbus-1-dev and libdbus-glib-1-dev.

For building from SVN, or if you change the man page source, xslt and
docbook xsl style files are used to generate nroff -man source from
docbook xml. The following packages are used in this process:
For building from the source tree, or if you change the man page
source, xslt and docbook xsl style files are used to generate nroff
-man source from docbook xml. The following packages are used in this
process:

libxslt -> xsltproc is used to build man pages from xml
docbook-xsl -> style file for xml to man translation
Expand Down
16 changes: 7 additions & 9 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# Exclude Subversion state from the tarball. Needed because we
# grab the test directory wholesale. Hack appropriately when and if we
# change version control systems.
am__tar += --exclude '*svn*' --exclude '*.so' --exclude '*.pyc'
am__tar += --exclude '*git*' --exclude '*.so' --exclude '*.pyc'

CLEANFILES =

Expand Down Expand Up @@ -211,7 +211,7 @@ ais_json.i: jsongen.py

revision.h: Makefile
@rm -f revision.h && \
echo '#define' REVISION '"svn'`svnversion -n`'"' >revision.h && \
echo '#define' REVISION '"git'`git describe`'"' >revision.h && \
chmod a-w revision.h

maskdump.c: gpsd.h-tail maskaudit.py
Expand Down Expand Up @@ -514,7 +514,7 @@ indent:
chmod u+w maskdump.c
indent -i4 -br -cbi0 -bli0 -ncs -npcs -nfca $(gpsd_c_sources) $(libgpsd_c_sources)
chmod u-w maskdump.c
@echo "Diff lines:" `svn diff | wc -l`
@echo "Diff lines:" `git diff | wc -l`

version:
@echo $(VERSION)
Expand Down Expand Up @@ -688,17 +688,15 @@ upload-ftp: dist
lftp -c "open ftp://ftp.berlios.de/incoming; mput gpsd-$(VERSION).tar.gz gpsd.sum"

#
# This is how to tag a release for the SVN repository.
# This is how to tag a release for the git repository.
# It requires developer access verified via ssh.
#
REPO=https://svn.berlios.de/svnroot/repos/gpsd
svn-tag:
svn copy $(REPO)/trunk $(REPO)/tags/release-$(VERSION) \
-m "Tagged for external release $(VERSION)"
release-tag:
git tag -s -m "Tagged for external release $(VERSION)" HEAD
#
# Ship a release, providing all regression tests pass.
# The clean is necessary so that dist will remake revision.h
# with the current revision level in it.
#
ship: testregress clean dist upload-ftp svn-tag
ship: testregress clean dist upload-ftp release-tag

8 changes: 1 addition & 7 deletions devtools/README
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
This is a list of developer tools included in the SVN source tarball
This is a list of developer tools included in the source repository
but not necessarily shipped in the tarball or binary distributions If you're
viewing it with Emacs, you can try doing Ctl-C Ctl-t browse through
the outline headers. Ctl-C Ctl-a will unfold them again.
Expand All @@ -22,12 +22,6 @@ Compare the results from running gpsfake on a logfile between this
machine and a remote one. Especially useful when remote and local
have different word lengths.

** findbreakage

Starting from a specified SVN revision number, this Python program runs
regression tests forward until something fails. It uses a binary search, so
convergence should be very rapid.

** leapsecond.py

Gets the current leap-second correction forom IERS and/or the USNO.
Expand Down
38 changes: 0 additions & 38 deletions devtools/findbreakage

This file was deleted.

3 changes: 0 additions & 3 deletions driver_proto.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,6 @@
* libgpsd_core.c
* packet.c
* packet_states.h
*
* see http://svn.berlios.de/viewvc/gpsd/trunk/?sortby=date&pathrev=5078
* for an example of how a new driver arrived.
*/

#include <sys/types.h>
Expand Down
2 changes: 1 addition & 1 deletion gpscat.in
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ if __name__ == '__main__':
sys.stderr.write("usage: gpscat [-s speed] serial-port\n")
raise SystemExit, 0
elif switch == '-V':
sys.stderr.write("gpscat at svn revision $Rev$\n")
sys.stderr.write("gpscat at revision $Rev$\n")
raise SystemExit, 0

tty = os.open(arguments[0], os.O_RDWR)
Expand Down
2 changes: 1 addition & 1 deletion gpsdecode.c
Original file line number Diff line number Diff line change
Expand Up @@ -501,7 +501,7 @@ int main(int argc, char **argv)
break;

case 'V':
(void)fprintf(stderr, "SVN ID: $Id$ \n");
(void)fprintf(stderr, "gpsdecode revision $Id$ \n");
exit(0);

case '?':
Expand Down
2 changes: 1 addition & 1 deletion gpxlogger.c
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ int main (int argc, char** argv)
"WARNING: track timeout is an hour or more!\n");
break;
case 'V':
(void)fprintf(stderr, "SVN ID: $Id$ \n");
(void)fprintf(stderr, "gpxlogger revision $Id$ \n");
exit(0);
default:
usage();
Expand Down
5 changes: 1 addition & 4 deletions test_packet.c
Original file line number Diff line number Diff line change
Expand Up @@ -282,17 +282,14 @@ int main(int argc, char *argv[])
int option, singletest = 0;

verbose = 0;
while ((option = getopt(argc, argv, "Vt:v:")) != -1) {
while ((option = getopt(argc, argv, "t:v:")) != -1) {
switch (option) {
case 't':
singletest = atoi(optarg);
break;
case 'v':
verbose = atoi(optarg);
break;
case 'V':
(void)fprintf(stderr, "SVN ID: $Id$ \n");
exit(0);
}
}

Expand Down
42 changes: 10 additions & 32 deletions www/faq.html
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ <h3>4. Check the latest version of <code>gpsd</code> for the bug.</h3>
version from the <a
href='http://developer.berlios.de/projects/gpsd/'>project page</a> and
test it. To be really helpful, check out the <a
href='http://developer.berlios.de/svn/?group_id=2116'>Subversion
href='https://developer.berlios.de/git/?group_id=2116'>git
head</a> and test that. We don't mind getting bug reports that say
"I saw version foo had the following bug, but you've fixed it."</p>

Expand Down Expand Up @@ -254,39 +254,17 @@ <h3>11. Try to determine what release introduced the bug</h3>

<ol>
<li><p>Follow <a
href='http://developer.berlios.de/svn/?group_id=2116'>these
href='http://developer.berlios.de/git/?group_id=2116'>these
instructions</a> to check out a copy of the software.</p></li>

<li><p>Do "svn log *" in the top-level directory of the checked-out tree.
Save the results. This is your map of dates to revision levels.</p></li>

<li><p>Determine the revision levels of the first known bad release
and the last known good release. You can do this by looking for the
release dates from gpsd.spec in the log output. Note: pick the
<em>first</em> revision matching the known-good date and the <em>last</em>
revision matching the known-bad date.</p></li>

<li><p>Use the <code>-r</code> option of <code>svn up</code> to check
out the revision level in the middle of that range. Thus, if the last
known good release was 2502 and the known bad one is 2760, check out
release (2760 + 2502) / 2 = 2631. The command you want would be "svn
-r 2631 up" in this case.</p></li>

<li><p>Build and test the revision. Whether it works or not, you will
eliminate half the range. If it works, you know the bug was introduced
somewhere in the upper half range. If it doesn't, the bug was introduced
in the lower half.</p></li>

<li><p>Do the same test on the half-range where the error was introduced;
e.g. check out the middle version, test that, and narrow the range by another
factor of 2.</p></li>

<li><p>Repeat this bisection search until you know the exact revision that
introduced your bug. This will happen very quickly, as the number of
tests required will be the log to the base 2 of the number of
revisions in your original span. Even if there are (say) 500
revisions in the span you should only require 9 tests to nail down the
exact change in question.</p></li>
<li><p>Use <a
href="http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html">git
bisect</a> to locate the exact revision that introduced your bug.
This will happen very quickly, as the number of tests required will be
the log to the base 2 of the number of revisions in your original
span. Even if there are (say) 500 revisions in the span you should
only require 9 tests to nail down the exact change in
question.</p></li>
</ol>

<h3>12. Include the vendor, mode, and firmware version in your report.</h3>
Expand Down
2 changes: 1 addition & 1 deletion www/gps_report.cgi
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ from your receiver - not the gpsd logfile, just raw output. We'll use this for
mechanical regression testing, which is your best guarantee that support for
your device won't get broken in a future release. Please be advised that these
logs will be sent to a publicly archived mailing list, and will be available in
the public SVN repository.</p>
the public code repository.</p>
<p>Almost all receivers will simply start throwing data to your port
immediately when they're plugged in. You should normally be able to capture
Expand Down
22 changes: 9 additions & 13 deletions www/hacking.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@

<h1>Contents</h1>

<p>If you're looking for things to hack on, first see the
<a href="http://svn.berlios.de/svnroot/repos/gpsd/trunk/TODO">TODO</a>
<p>If you're looking for things to hack on, first see the TODO
file in the source distribution.</p>

<ol type="I">
Expand Down Expand Up @@ -881,14 +880,10 @@ <h2 id="error">Error modeling</h2>

<h2 id="ancient">Ancient history</h2>

<p>The project is presently kept in a Subversion repository. Up until
<p>The project is presently kept in a git repository. Up until
mid-August 2004 (r256) it was kept in CVS, which was mechanically
upconverted using cvs2svn.</p>

<p>If you read very old portions of the revision log, there are many
spans of identical comments. Some of these are places where cvs2svn should
have merged multiple CVS commits to a single SVN changeset, but did
not. Others are scar tissue from pre-2006 versions of Emacs VC.</p>
upconverted to Subversion. On 12 March 2010 the Subversion repository was
converted to git.</p>

<h1 id="trouble">Known trouble spots</h1>

Expand Down Expand Up @@ -1406,15 +1401,16 @@ <h2>Release Checklist</h2>
gpsd.spec.in is up-to-date and properly timestamped.</dd>

<dt>8. Check the revision.h file</dt>
<dd>The contents of the revision.h file should match the output of
svnversion. If it doesn't, remove revision.h, svn up, and make revision.h</dd>
<dd>The contents of the revision.h file should match the output of git
describe. If it doesn't, remove revision.h, git pull, and make
revision.h</dd>

<dt>9. Ship to Berlios</dt>
<dd>Make the tarball (make dist) and upload to berlios.de (make upload-ftp),
and do Berlios's release procedure.</dd>

<dt>10. Tag the release in SVN</dt>
<dd>Doing 'make svn-tag' should accomplish this</dd>
<dt>10. Tag the release in git</dt>
<dd>Doing 'make release-tag' should accomplish this.</dd>

<dt>11. Bump the release number</dt>
<dd>Bump the release number in configure.ac, adding a 'dev' suffix
Expand Down
7 changes: 4 additions & 3 deletions www/index.html.in
Original file line number Diff line number Diff line change
Expand Up @@ -176,9 +176,10 @@ version) rather than the latest released stable version.</p>
href="http://developer.berlios.de/project/showfiles.php?group_id=2116">download</a>
directory for tarballs of all released versions. Access to the
bleeding-edge developer version is supported <a
href="http://developer.berlios.de/svn/?group_id=2116">via
Subversion</a>. The main project page is <a
href='http://developer.berlios.de/projects/gpsd/'>here on berlios.de</a>.</p>
href="http://developer.berlios.de/git/?group_id=2116">via git</a>.
The main project page is <a
href='http://developer.berlios.de/projects/gpsd/'>here on
berlios.de</a>.</p>

<p>If you are using a Debian-based distribution (including Ubuntu) you
can probably install <code>gpsd</code> through your regular package
Expand Down
4 changes: 2 additions & 2 deletions www/writing-a-driver.xml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
<date>14 November 2006</date>
<authorinitials>md</authorinitials>
<revremark>
Updated to conform to SVN 3884.
Updated to conform to the fepo source at this date.
</revremark>
</revision>
</revhistory>
Expand All @@ -101,7 +101,7 @@ supports around 40 different GPS devices, so it may be that your
device is already supported by an existing driver.</para>

<para>It may be worth noting that these notes were written against
gpsd version 2.34 compiled from SVN revision 3884 of November 14th
gpsd version 2.34 as it existed on of November 14th
2006. The situation will likely have changed by the time you read
this, but the broad principles should still apply. Check what version
you are using.</para>
Expand Down

0 comments on commit ed9063e

Please sign in to comment.