Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Dec 12, 2008
  1. @spearce

    Modify SUBMITTING_PATCHES to make it clear where to send changes

    spearce authored
    Mike Ralphson noted the submitting patches documentation was not
    clear on who the patches should be directed to.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Commits on May 26, 2008
  1. @spearce

    Switch jgit library to the EDL (3-clause BSD)

    spearce authored
    This is a machine transform of the headers in the jgit packages,
    switching the license to the EDL, which is a 3-clause BSD license.
    The script used (attached below) updated the copyright statements
    based upon the output of git-blame, as not all copyright statements
    were actually current.
    
    This change is based upon the following emails to the Git mailing
    list by myself, Robin Rosenburg and David Watson:
    
      http://article.gmane.org/gmane.comp.version-control.git/81585
      > From Shawn O. Pearce <spearce@spearce.org>
      >
      > Since its inception on March 6, 2006 jgit has been under the
      > GPLv2 license.  To make the library available to a wider audience
      > (including but not limited to the Eclipse Git plugin, numerous
      > Apache projects such as Ant/Maven, the Netbeans IDE, etc.) we are
      > switching to a dual license between a 3-clause BSD (the EDL)
      > and the EPL.
    
      http://article.gmane.org/gmane.comp.version-control.git/81604
      > From Robin Rosenberg <robin.rosenburg@dewire.com>
      >
      > I confirm this is fine with me.
    
      http://article.gmane.org/gmane.comp.version-control.git/81594
      > From Dave Watson <dwatson@mimvista.com>
      >
      > I have no objection to the relicense, if it will help things out.
    
    No other parties consent is required for this change, as according
    to git-blame more than 99.9% of the jgit code is owned by these
    three individuals.
    
    Confirmed-by: Robin Rosenberg <robin.rosenburg@dewire.com>
    Confirmed-by: Dave Watson <dwatson@mimvista.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    
    --8<--
    
    open(F, '-|','git','ls-files');
    while (<F>) {
    	chop;
    	next unless m,^org.spearce.jgit(?:.test)?/,;
    	next unless m,\.java$,;
    
    	my $old_file = $_;
    	my $new_file = "$old_file.license.$$";
    	my $header = '';
    	my $package = '';
    
    	open(I,'<',$old_file);
    	while (<I>) {
    		if (/^package /) {
    			$package = $_;
    			last;
    		}
    
    		$header .= $_;
    	}
    	die "$old_file has no package line.\n" unless $package;
    
    	if ($header =~ / - Redistributions of source code must retain/) {
    		close I;
    		next;
    	}
    
    	my $lineno = $.;
    	my $author_name;
    	my $author_email;
    	my %all_years;
    	my %author_years;
    
    	print "$old_file\n";
    	open(B,'-|','git','blame',
    		"-L$lineno,",
    		'-C','-C',
    		'--whitespace',
    		'-p',
    		$old_file);
    	while (<B>) {
    		chop;
    		if (/^author (.*)$/) {
    			$author_name = $1;
    			next;
    		}
    		if (/^author-mail (<.*>)$/) {
    			$author_email = $1;
    			next;
    		}
    		if (/^author-time (\d+)$/) {
    			my $year = (localtime($1))[5] + 1900;
    			$all_years{$year} = 1;
    			$author_years{"$author_name $author_email"}{$year} = 1;
    		}
    	}
    	close B;
    
    	open(O,'>',$new_file);
    	print O "/*\n";
    
    	my %used_author;
    	foreach my $year (sort {$a cmp $b} keys %all_years) {
    		foreach my $who (sort keys %author_years) {
    			next if $used_author{$who}++;
    			my $y = (sort {$b cmp $a} keys %{$author_years{$who}})[0];
    			print O " * Copyright (C) $y, $who\n";
    		}
    	}
    
    	print O <<'EOF';
     *
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or
     * without modification, are permitted provided that the following
     * conditions are met:
     *
     * - Redistributions of source code must retain the above copyright
     *   notice, this list of conditions and the following disclaimer.
     *
     * - Redistributions in binary form must reproduce the above
     *   copyright notice, this list of conditions and the following
     *   disclaimer in the documentation and/or other materials provided
     *   with the distribution.
     *
     * - Neither the name of the Git Development Community nor the
     *   names of its contributors may be used to endorse or promote
     *   products derived from this software without specific prior
     *   written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
     * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
     * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
     * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     */
    
    EOF
    	print O $package;
    	print O while <I>;
    	close I;
    	close O;
    	rename($new_file, $old_file);
    }
    close F;
Commits on Feb 21, 2007
  1. @spearce

    Relicense org.spearce.jgit under GPL.

    spearce authored
    After some discussion on #git with Robin Rosenburg about the difficulty
    of porting concepts from core "C" based Git to jgit we have decided to
    license org.spearce.jgit (the pure Java implementation of Git) under
    the GNU Public License, as this is the same license that covers the
    core Git code.  By using the same license as the core Git code we can
    easily port algorithms written by others while maintaing their wishes
    relative to the license associated with them.
    
    The other packages are staying a mixture of LGPL and EPL as the code
    there is written by people beyond just Robin and myself, and this code
    must interface with Eclipse.
    
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Commits on Jan 20, 2007
  1. @spearce

    Created notes on how to properly submit patches.

    spearce authored
    This is a blatent borrowing of the Documentation/SubmittingPatches
    file from git.git.  I like Junio's development practices and how
    he manages git, and how patches get submitted is a part of that
    process.  There are however some minor differences with egit/jgit
    as we are relying heavily on the Eclipse code formatter rather than
    doing that sort of annoying work by hand.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Something went wrong with that request. Please try again.