Hello,
On Jun 2, 2011, at 21:34 , Ludovic Rousseau wrote:

> 2011/6/2 Martin Paljak <mar...@martinpaljak.net>:
>> A question: how many current commiters don't yet use Git (and/or git-svn) 
>> for OpenSC development?
> 
> I :-)
> But I don't mind changing for Git.
> 
> Current SVN commiters would have a Git repository each on opensc-project.org?
> Or only the "official" OpenSC version will be hosted at
> opensc-project.org? And you would pull from Git repositories hosted
> elsewhere?

I would not mind going for a 100% hosted solution in Github, as they do a nice 
job and have a lot of features not easily available elsewhere, with close to 
zero maintenance cost for projects.

But to keep the content of the Trac in place, having a master which is a synced 
mirror of Github master on opensc-devel.org is needed, to be able to reference 
commits in tickets and wiki (or read it as "having a mirror of the master on 
opensc-devel.org synced to github.com" if you like)


Git has a decentralized nature, so reaping the fruits of it is easy. My 
proposal is as follows:

 - "master" on opensc-project.org
  - for references in Trac
  - for independent backup, "should something happen to github or they turn 
evil or ... "
  - to have the fullest flexibility of scripting hooks for synchronization and 
whatnot
 - synced "master" on github.com
  - for easy to use communication features, like comments on commits with line 
level granularity
  - ease of "forking" and generic "social coding"
  - all of this with almost no maintenance costs.

It makes it possible to convert "commit accounts" into "git clone url-s". 
Choose whatever you like, be it github or some other public/free Git site or 
your own. Or on opensc-project.org if required, but I'd avoid the setup hassle 
if possible.

The tricky question is how to set up additional autobuilders, which I consider 
essential for testing and releasing purposes. There are two options:
 - on request, for every developer's master branch, for all platforms, 
published to opensc-project.org/downloads/nightly/<yourname>/
 - based on some agreed upon "feature sets", either from specific trees or from 
agreed upon branches in the "master" repostirory, published to 
opensc-project.org/downloads/nightly/<feature>/

Ideally there could be three levels of builders:
 - master (mostly idle) which gets constructed every week or so from pulls from 
feature branches
 - "feature branches" (maintained by several people), along the lines of 
"minidriver", "mac", "pkcs#11", "bugfixes" etc
 - developer builds (for every developer, for whatever he/she decides to keep 
in master)

Building such "feature" branches nightly is essential for testing, so that 
meaningful changes can be tested and developed to a mature state separately 
from a "release", where the availability of testable binary pre-releases or 
RC-s for a "feature" is continuous.

This is of course all doable with SVN as well, but a lot easier with Git IMHO. 
Not to mention the added sweetness from converting to Git of course ;)

Cheers,
-- 
@MartinPaljak.net
+3725156495

_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to