savannah-hackers
[Top][All Lists]
Advanced

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

Re: [savannah-help-public] Gnuspeech - git repository


From: Assaf Gordon
Subject: Re: [savannah-help-public] Gnuspeech - git repository
Date: Fri, 18 Sep 2015 17:26:12 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0

Hello David,

On 09/18/2015 04:16 PM, David Hill wrote:
The "guix" example I wrote about - is case #2. The related guix
repositories (eg. guix/dhcp.git) are related just by being under
the "guix" directory. Users can pick-and-choose which repository
they are interested in.

Are you suggesting that we use one or more guix repositories and not
put the material on the savannah project site at all? Keeping two
different repos (savannah and guix), differently structured, would
introduce problems of synchronisation and (in my opinion) be quite
confusing, so I am not happy about having both.

"guix" is a project hosted on Savannah ( http://sv.gnu.org/p/guix ),
whose administrators requested several GIT repositories ( 
http://savannah.gnu.org/git/?group=guix ):
  git://git.savannah.gnu.org/guix.git
  git://git.savannah.gnu.org/guix/dhcp.git
  git://git.savannah.gnu.org/guix/gnunet.git
  git://git.savannah.gnu.org/guix/guix-artwork.git
  git://git.savannah.gnu.org/guix/maintenance.git

That was just an example of how you could set your project on savannah (if you 
wanted multiple git repositories).
What do you think of all this (especially the idea of simply adding
the existing history to the initial commit message)?

Starting a fresh repository is not a bad idea.
Instead of adding the previous history to a git-commit message,
I'd simply create a 'ChangeLog-OLD' file, listing the detailed changes.
For example, GNU coreutils has multiple 'changelog' files containing detailed 
old changes
( http://git.savannah.gnu.org/cgit/coreutils.git/tree/ ),
Coreutils stopped updating the 'Changelog' files manually circa 2008 when git 
commit history replaced it.

Then, of course, there's the release. If I were to have more than one
savannah repo, would that require having more than one tarball. I was
just about to start looking at the procedures for a first release.
Marcelo says it looks fairly complicated. I want to keep that as
straightforward as possible.

Note that you can pack multiple git repositories into one tarball
(e.g. 'make dist' for GNU coreutils includes the files from the 'gnulib' 
repository).
But I won't claim that's easy to setup (will require some careful tweaking to 
the 'Makefile.am' files if you're using autotools).

IMHO, preparing a release should serve two purposes (at least):
1. automate as much as possible for you (the maintainer),
so that 'make dist' will prepare everything you need
(preferably: just one tar.gz file).

2. prepare the tarball in a way that make it easy for users to 
build/install/use your program,
e.g. after 'wget + configure + make + sudo make install' the program should be 
ready to use,
including any data files in system-wide directories (e.g. 
/usr/local/share/gnuspeech).

It's likely worth spending some time and evaluating the pros and cons of the 
tarball method to see what it provides.
On the other hand, there's also "release early,release often" adage,
and you might prefer to put a new gnuspeech release out there quickly, and work 
out the kinks later.

regards,
 - assaf




reply via email to

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