I am not an expert on git, so take this as an observation more than fact: One big concern with git is the lack of "accountability" with code changes. Once code has been pushed to a git repo, the identity of the committer is lost, or at least not easily found.

Hmm... I think that git actually is pretty strong in this regard. A git commit includes an "author", which can include an email address. The commit is then identified by the SHA-1 of the commit message + the diff, so it's very difficult to tamper with existing commit history.

Now, there is no private key involved in that process, so clearly, I could claim to be [EMAIL PROTECTED] (git config user.email [EMAIL PROTECTED]) and create a commit that is falsely attributed to you. But is that the concern?

It's even possible for me to commit someone else's changes and preserve both the fact that I did the committing but that the other person did the authoring (git commit --author "Craig Russell <[EMAIL PROTECTED] >" --signoff "Patrick Linskey <[EMAIL PROTECTED]>").

And unlike having the code attached to a JIRA, with an explicit "Apache licensed contribution" there is no automatic way to guarantee that a git-managed code change is actually intended as a contribution.

The JIRA-based patch management system is definitely more robust from an opt-in standpoint. Are people suggesting that git would replace JIRA as well? I can definitely imagine a git workflow that could supplant JIRA, but I'd argue that git is sufficiently more difficult than JIRA that that would be raising the bar too much for contributions.

There is also a case to be made to use git for source control, or to support both git and svn for source control (if such a thing were possible).

IMO, git has a clearly higher learning curve than svn, so it's not clear that an organization with as many contributors as Apache would want to raise the bar for participation by requiring git-fu to participate. But certainly, for those of us that have bit the bullet for one reason or another, it'd be great if there were a good story for using git with Apache projects.

-Patrick

On Dec 9, 2008, at 10:15 AM, Craig L Russell wrote:

There is a group inside Apache who are advocating for an official git repo managed by Apache infrastructure. The discussion is ongoing...

I am not an expert on git, so take this as an observation more than fact: One big concern with git is the lack of "accountability" with code changes. Once code has been pushed to a git repo, the identity of the committer is lost, or at least not easily found. And unlike having the code attached to a JIRA, with an explicit "Apache licensed contribution" there is no automatic way to guarantee that a git-managed code change is actually intended as a contribution.

The other big concern is transparency. Without a centrally-managed git repo (see above) there is no way for the community to easily see what is being developed where.

I have no dog in this hunt. My aim is for the OpenJPA team to be as productive and engaged as possible, while staying true to the spirit and rules of the foundation. So for now, creating and using git-on- svn is fine for individuals, but to use git project-wide needs more explicit guidance from the foundation.

Craig

On Dec 9, 2008, at 7:58 AM, Patrick Linskey wrote:

Yeah, git is amazing. Lets you do lots of interesting things, collaboration-wise.

That said, I imagine that we want to stay with the Apache Way for our primary source repository story, which means svn for the foreseeable future I'd imagine. I expect that we'd see a lot of benefit by moving to svn 1.5 (which has proper merge support, and thus helps a lot with branching).

-Patrick

On Dec 9, 2008, at 6:18 AM, Kevin Sutter wrote:

This sounds interesting. It sounds like we could provide for multiple "build levels" and only promote changes when they are really ready. All of this without requiring the use of sandboxes. Or, am I reading more into
this?

Kevin

On Tue, Dec 9, 2008 at 5:08 AM, Mark Struberg <[EMAIL PROTECTED]> wrote:

Hi Patrick!

In which way do you like to access the apache svn?

Did you already work with git?

Do you only like to manage local branches with git (git on top of a svn
checkout)?

Do you like to use the git-svn bridge for doing all the local management
with git?


The way I use git for Apache projects is the 'git on top' approach (I'll be
more verbose since I do not know what you already know):

1.) do a svn co
2.) create a .gitignore file which contains /target and .svn
3.) modify my .svnignore to contain .git and .gitignore
4.) $> git-init
5.) $> git-add src
6.) $> git-status    to check if the index doesn't contain crap
7.) $> git-commit -m"initial import from SVN"

I subsequently do some svn update and commit them to my local git master
branche.
In parallel I do test branches with
$> git-checkout -b mytestbranch
see git-branch for more info

If the changes work out, you can merge them into master and afterwards
perform a svn commit to the Apache repo.


Another way would be to use the git-svn bridge. pro: you'd have the whole history in git (so you could do a git-blame for example) con: you cannot use mvn scm (e.g. for releasing), since the maven-scm-providers-svn relies on having a SVN structure locally and the maven-scm-providers-git relies on
having a remote git repo...


LieGrü,
strub


--- Patrick Linskey <[EMAIL PROTECTED]> schrieb am Di, 9.12.2008:

Von: Patrick Linskey <[EMAIL PROTECTED]>
Betreff: [OT] git and Apache's svn?
An: [email protected]
Datum: Dienstag, 9. Dezember 2008, 8:18
Hi,

Has anyone had any experience with using git with
Apache's svn repository?

Thanks,

-Patrick

--Patrick Linskey
202 669 5907





--
Patrick Linskey
202 669 5907


Craig L Russell
Architect, Sun Java Enterprise System http://db.apache.org/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!


--
Patrick Linskey
202 669 5907

Reply via email to