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