automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FYI: Move to git as primary source repository.


From: Ralf Wildenhues
Subject: FYI: Move to git as primary source repository.
Date: Mon, 29 Oct 2007 20:27:32 +0100
User-agent: Mutt/1.5.13 (2006-08-11)

Applied to master.

Cheers,
Ralf

    Move to git as primary source repository.
    
    * Makefile.am (git-dist, git-release): Renamed and adjusted from ...
    (cvs-dist, cvs-release): ... these.
    (git-diff): New target, taken and adjusted from cvs-diff.
    * Makefile.in: Regenerate.
    * bootstrap: Adjust.
    * NEWS: Announce change.
    * doc/automake.texi (General Operation): cvs-dist is git-dist now.
    (Timeline): Mention change.

diff --git a/ChangeLog b/ChangeLog
index 47c4664..a0dce2f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2007-10-29  Ralf Wildenhues  <address@hidden>
+
+       Move to git as primary source repository.
+       * Makefile.am (git-dist, git-release): Renamed and adjusted from ...
+       (cvs-dist, cvs-release): ... these.
+       (git-diff): New target, taken and adjusted from cvs-diff.
+       * Makefile.in: Regenerate.
+       * bootstrap: Adjust.
+       * NEWS: Announce change.
+       * doc/automake.texi (General Operation): cvs-dist is git-dist now.
+       (Timeline): Mention change.
+
 2007-10-09  Ralf Wildenhues  <address@hidden>
 
        * automake.in: Treat extension .sx also like preprocessed
diff --git a/HACKING b/HACKING
index 70b8272..5a3ed33 100644
--- a/HACKING
+++ b/HACKING
@@ -89,7 +89,7 @@
 
 
 ================================================================
-= Working with CVS
+= Working with git/CVS
 
 * To regenerate dependent files created by aclocal and automake,
   use the `bootstrap' script.  It uses the code from the source
@@ -98,9 +98,19 @@
   automake and use it to generate those files.
 
 * Dependent files aclocal.m4, configure and Makefile.in in all
-  directories should be up to date in the CVS repository, so that
+  directories should be up to date in the git repository, so that
   the changes in them can be easily noticed and analyzed.
 
+* Avoid merge commits on the master branch of the public git repository.
+  For unpublished changes in your development tree, it's easiest to
+  rebase against the current master before applying them, this preserves
+  a linear history.
+
+* For changes to appear in more than one branch, apply them to the
+  master branch and then cherry-pick them to the stable branch from
+  master if possible.  This keeps the master uncluttered and preserves
+  meta-data on the stable branches.
+
 
 ================================================================
 = Test suite
@@ -128,11 +138,13 @@
 
 * Run ./bootstrap, ./configure, make.
 
-* Run `make cvs-release'.
+* NOTE: the next step has not been tested yet with git, so be careful.
+
+* Run `make git-release'.
   This will run distcheck to create the tarballs, commit the last
   NEWS/configure.ac/ChangeLog changes, tag the repository, sign
   the tarballs, and upload them.
-  Use `make GNUPLOADFLAGS="--user key" cvs-release' to sign with
+  Use `make GNUPLOADFLAGS="--user key" git-release' to sign with
   a non-default key.
 
 * Update version number in configure.ac to next alpha number.
@@ -144,7 +156,7 @@
 
 -----
 
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 2003, 2007 Free Software Foundation, Inc.
 
 This file is part of GNU Automake.
 
diff --git a/Makefile.am b/Makefile.am
index 66b8495..bb069df 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,7 +3,7 @@
 ## Makefile for Automake.
 
 ## Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004,
-## 2005, 2006  Free Software Foundation, Inc.
+## 2005, 2006, 2007  Free Software Foundation, Inc.
 
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -298,8 +298,8 @@ maintainer-check: automake aclocal
        fi
 
 
-cvs-dist: maintainer-check
-## Make sure clcommit exists (we use it at the end of cvs-dist).
+git-dist: maintainer-check
+## Make sure clcommit exists (we use it at the end of git-dist).
        @if (clcommit --version)>/dev/null 2>/dev/null; then :; else \
          echo "Get clcommit from module cvs-utils on Savannah."; \
          exit 1; \
@@ -315,9 +315,9 @@ cvs-dist: maintainer-check
 ## the release in the repository.  We don't use RCS keywords so it's OK
 ## to distribute the files before they were committed.
        cd $(srcdir) && clcommit && \
-         cvs -q tag -c `echo "Release-$(VERSION)" | sed 's/\./-/g'`
+         git tag -s `echo "Release-$(VERSION)" | sed 's/\./-/g'`
 
-cvs-release: cvs-dist
+git-release: git-dist
        case $(VERSION) in \
          *[a-z]) dest=alpha;; \
          *)      dest=ftp;; \
@@ -335,6 +335,15 @@ cvs-diff:
        cvs -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \
            > $(PACKAGE)-$$prevno-$(VERSION).diff
 
+git-diff:
+       thisver=`echo "Release-$(VERSION)" | sed 's/\./-/g'`; \
+       if test -z "$$OLDVERSION"; then \
+         prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \
+       else prevno="$$OLDVERSION"; fi; \
+       prevver=Release-`echo $$prevno | sed 's/\./-/g'`; \
+       git diff $$prevver $$thisver $(PACKAGE) \
+           > $(PACKAGE)-$$prevno-$(VERSION).diff
+
 ## Check our path lengths.
 path-check: distdir
        (cd $(distdir) && \
diff --git a/Makefile.in b/Makefile.in
index fd4fc0d..e51eec4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -843,7 +843,7 @@ maintainer-check: automake aclocal
          exit 1; \
        fi
 
-cvs-dist: maintainer-check
+git-dist: maintainer-check
        @if (clcommit --version)>/dev/null 2>/dev/null; then :; else \
          echo "Get clcommit from module cvs-utils on Savannah."; \
          exit 1; \
@@ -854,9 +854,9 @@ cvs-dist: maintainer-check
        fi
        $(MAKE) distcheck
        cd $(srcdir) && clcommit && \
-         cvs -q tag -c `echo "Release-$(VERSION)" | sed 's/\./-/g'`
+         git tag -s `echo "Release-$(VERSION)" | sed 's/\./-/g'`
 
-cvs-release: cvs-dist
+git-release: git-dist
        case $(VERSION) in \
          *[a-z]) dest=alpha;; \
          *)      dest=ftp;; \
@@ -874,6 +874,15 @@ cvs-diff:
        cvs -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \
            > $(PACKAGE)-$$prevno-$(VERSION).diff
 
+git-diff:
+       thisver=`echo "Release-$(VERSION)" | sed 's/\./-/g'`; \
+       if test -z "$$OLDVERSION"; then \
+         prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \
+       else prevno="$$OLDVERSION"; fi; \
+       prevver=Release-`echo $$prevno | sed 's/\./-/g'`; \
+       git diff $$prevver $$thisver $(PACKAGE) \
+           > $(PACKAGE)-$$prevno-$(VERSION).diff
+
 path-check: distdir
        (cd $(distdir) && \
          find . -print | xargs pathchk -p); \
diff --git a/NEWS b/NEWS
index 1c3b789..b9aa1d3 100644
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,15 @@ New in 1.10a:
 
 * Miscellaneous changes:
 
+  - Automake development is done in a git repository on Savannah now, see
+
+      http://git.sv.gnu.org/gitweb/?p=automake.git
+
+    A read-only CVS mirror is provided at
+
+      cvs -d :pserver:address@hidden:/automake.git \
+          checkout -d automake HEAD
+
   - "make dist" can now create lzma-compressed tarballs.
 
   - Automake is licensed under GPLv3+.  `automake --add-missing' will
diff --git a/bootstrap b/bootstrap
index f7b5f42..607d8f8 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,8 +1,8 @@
 #! /bin/sh
 
-# This script helps bootstrap automake, when checked out from CVS.
+# This script helps bootstrap automake, when checked out from git.
 #
-# Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004, 2007  Free Software Foundation, Inc.
 # written by Pavel Roskin <address@hidden> September 2002
 #
 # This program is free software; you can redistribute it and/or modify
diff --git a/doc/automake.texi b/doc/automake.texi
index 3b5dc2d..f6aae8e 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -1696,12 +1696,13 @@ for compiling and linking programs to be generated.
 @cindex Non-standard targets
 @cindex @code{cvs-dist}, non-standard example
 @trindex cvs-dist
address@hidden git-dist
 
 The variable definitions and rules in the @file{Makefile.am} are
 copied verbatim into the generated file.  This allows you to add
 arbitrary code into the generated @file{Makefile.in}.  For instance,
 the Automake distribution includes a non-standard rule for the
address@hidden target, which the Automake maintainer uses to make
address@hidden target, which the Automake maintainer uses to make
 distributions from his source control system.
 
 @cindex GNU make extensions
@@ -11279,8 +11280,9 @@ Automake is now hosted on @code{sourceware.cygnus.com}. 
 It has a
 publicly accessible CVS repository.  This CVS repository is a copy of
 the one Tom was using on his machine, which in turn is based on
 a copy of the CVS repository of David MacKenzie.  This is why we still
-have to full source history.  (Automake is still on Sourceware today,
-but the host has been renamed to @code{sources.redhat.com}.)
+have to full source history.  (Automake was on Sourceware until 2007-10-29,
+when it moved to a git repository on @code{savannah.gnu.org},
+but the Sourceware host had been renamed to @code{sources.redhat.com}.)
 
 The oldest file in the administrative directory of the CVS repository
 that was created on Sourceware is dated 1998-09-19, while the
@@ -11611,6 +11613,9 @@ Aside from this it contains mainly minor changes and 
bug-fixes.
 Automake has ten years.  This chapter of the manual was initially
 written for this occasion.
 
address@hidden 2007-10-29 Automake repository moves to @code{savannah.gnu.org} 
and uses
+git as primary repository.
+
 @end table
 
 @node Dependency Tracking Evolution




reply via email to

[Prev in Thread] Current Thread [Next in Thread]