[xwiki-devs] Fwd: An Experiment with GIT
Interesting... After reading about distributed SCMs for some time now I think I'm ready to take the plugin and try some experiments as Jason as done. My only worry so far about using a tool like Git was about the tooling (in IDE, etc). Now that Jason as taken the plunge, I'll do some research on it too in the background. -Vincent Begin forwarded message:
From: Jason van Zyl <jason@maven.org> Date: September 29, 2007 7:40:42 PM CEDT To: Maven Developers List <dev@maven.apache.org> Subject: An Experiment with GIT Reply-To: "Maven Developers List" <dev@maven.apache.org>
Hi,
For anyone who wants to make changes to Maven but doesn't have access I am going to setup a GIT repository to try and enable some distributed development. After using GIT for about a week I'm having a hard time using SVN but obviously we're not going to be switching anytime soon.
But for anyone who has patches or wants to try and work with me to get changes in I am going to try this method of publishing Maven as a GIT repository which will allow anyone to clone the repository and work on any changes you like in a controlled way. Once you clone you can commit changes to your own copy of Maven and do whatever you like. Then in order for me to see your changes I can simply pull from your originally cloned repository to a branch on my side and merge. Merging is sooooooo easy with GIT. So easy in fact that it makes you wonder how SVN got it so wrong and makes it so painful compared to GIT.
This is the model that the Linux kernel uses where anyone has a real copy of the repository, they work as they like, creating branches for features of what have you.
I am trying this with Oleg Gusakov who has many ideas and is helping me do some experiments with the artifact resolution system. But anyone else who is interested in trying just let me know. This document is the most helpful:
http://utsl.gen.nz/talks/git-svn/intro.html
And a little collection of things I have read about GIT:
http://del.icio.us/jvanzyl/git
It is so damn fast it is unbelievable. With the visual tool that comes with it you can see the entire history of the project in a few minutes. It is very, very cool. I simply cannot believe how easy it is to merge bits from all over the place. My hope is that this method being truly distributed means that people can work on their branches in a way that's natural and we remove the immense tedium working with patches. If you have something good, it's now very easy for me to pull a branch from you and try it. If that branch works it then takes me a second to merge it. I test and them push back to subversion using the git-svn bridge.
In the short term I really only want to try with a few people but if you're keen, want to learn about GIT (which I highly, highly recommend) then I will take your patches. I think any developer here and anyone who has ever tried to contribute changes sees that the JIRA+patch model is highly unworkable and bordering on completely useless. JIRA might be fine to raise the issue but with a reference to a GIT repository to pull from it will make life infinitely easier. People who are not committers can work with people that are in a way that resembles everyon being part of the team. Dealing with patches just sucks ass and as a result we don't look at them nearly as often as we should so I hope this can become a model that enables people to contribute in a more effective way. I'm going to try this with Oleg but I am highly hopeful. I will help anyone who wants to try this as I see this as a way to truly collaborate with the community. Down with JIRA+patches! All hail JIRA+GIT! :-)
Thanks,
Jason
If anyone is interested, there is also a tool called svk which sits on top of subversion and adds some of the local branch/distributed branch abilities to subversion. I use it locally to have multiple branches than can be merged, committed, etc. This was especially useful before the new svn repository (I could still check in locally even if I can't talk to the main site, and then sync it later). David -- On 9/29/07, Vincent Massol <vincent@massol.net> wrote:
Interesting... After reading about distributed SCMs for some time now I think I'm ready to take the plugin and try some experiments as Jason as done.
My only worry so far about using a tool like Git was about the tooling (in IDE, etc). Now that Jason as taken the plunge, I'll do some research on it too in the background.
-Vincent
Begin forwarded message:
From: Jason van Zyl <jason@maven.org> Date: September 29, 2007 7:40:42 PM CEDT To: Maven Developers List <dev@maven.apache.org> Subject: An Experiment with GIT Reply-To: "Maven Developers List" <dev@maven.apache.org>
Hi,
For anyone who wants to make changes to Maven but doesn't have access I am going to setup a GIT repository to try and enable some distributed development. After using GIT for about a week I'm having a hard time using SVN but obviously we're not going to be switching anytime soon.
But for anyone who has patches or wants to try and work with me to get changes in I am going to try this method of publishing Maven as a GIT repository which will allow anyone to clone the repository and work on any changes you like in a controlled way. Once you clone you can commit changes to your own copy of Maven and do whatever you like. Then in order for me to see your changes I can simply pull from your originally cloned repository to a branch on my side and merge. Merging is sooooooo easy with GIT. So easy in fact that it makes you wonder how SVN got it so wrong and makes it so painful compared to GIT.
This is the model that the Linux kernel uses where anyone has a real copy of the repository, they work as they like, creating branches for features of what have you.
I am trying this with Oleg Gusakov who has many ideas and is helping me do some experiments with the artifact resolution system. But anyone else who is interested in trying just let me know. This document is the most helpful:
http://utsl.gen.nz/talks/git-svn/intro.html
And a little collection of things I have read about GIT:
http://del.icio.us/jvanzyl/git
It is so damn fast it is unbelievable. With the visual tool that comes with it you can see the entire history of the project in a few minutes. It is very, very cool. I simply cannot believe how easy it is to merge bits from all over the place. My hope is that this method being truly distributed means that people can work on their branches in a way that's natural and we remove the immense tedium working with patches. If you have something good, it's now very easy for me to pull a branch from you and try it. If that branch works it then takes me a second to merge it. I test and them push back to subversion using the git-svn bridge.
In the short term I really only want to try with a few people but if you're keen, want to learn about GIT (which I highly, highly recommend) then I will take your patches. I think any developer here and anyone who has ever tried to contribute changes sees that the JIRA+patch model is highly unworkable and bordering on completely useless. JIRA might be fine to raise the issue but with a reference to a GIT repository to pull from it will make life infinitely easier. People who are not committers can work with people that are in a way that resembles everyon being part of the team. Dealing with patches just sucks ass and as a result we don't look at them nearly as often as we should so I hope this can become a model that enables people to contribute in a more effective way. I'm going to try this with Oleg but I am highly hopeful. I will help anyone who wants to try this as I see this as a way to truly collaborate with the community. Down with JIRA+patches! All hail JIRA+GIT! :-)
Thanks,
Jason _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
Very interesting indeed... We're looking at GIT also in the XWiki Concerto project http://concerto.xwiki.com, since GIT can be looked at as a P2P collaborative editing system, not so far from the P2P features we have in mind for the Concerto P2P wiki: the peers exchange content patches with one another. From previous discussions with Ludovic, it seems that the main difference between GIT and a P2P wiki is that in GIT, merging resources occurs probably only once when submitting a patch and is done manually, whereas in the P2P wiki being designed in Concerto, merging is supposed to occur on several peers of the system in automated way. An in depth comparison of the approaches remains to be done though. Here are my bookmarks on git, and more generally on distributed revision control systems: http://del.icio.us/arkub/git http://del.icio.us/arkub/drcs That'd be excellent to set up a common repository at some point for experimenting with GIT within the XWiki community... Cheers Stéphane Vincent Massol wrote:
Interesting... After reading about distributed SCMs for some time now I think I'm ready to take the plugin and try some experiments as Jason as done.
My only worry so far about using a tool like Git was about the tooling (in IDE, etc). Now that Jason as taken the plunge, I'll do some research on it too in the background.
-Vincent
Begin forwarded message:
*From: *Jason van Zyl <jason@maven.org <mailto:jason@maven.org>> *Date: *September 29, 2007 7:40:42 PM CEDT *To: *Maven Developers List <dev@maven.apache.org <mailto:dev@maven.apache.org>> *Subject: **An Experiment with GIT* *Reply-To: *"Maven Developers List" <dev@maven.apache.org <mailto:dev@maven.apache.org>>
Hi,
For anyone who wants to make changes to Maven but doesn't have access I am going to setup a GIT repository to try and enable some distributed development. After using GIT for about a week I'm having a hard time using SVN but obviously we're not going to be switching anytime soon.
But for anyone who has patches or wants to try and work with me to get changes in I am going to try this method of publishing Maven as a GIT repository which will allow anyone to clone the repository and work on any changes you like in a controlled way. Once you clone you can commit changes to your own copy of Maven and do whatever you like. Then in order for me to see your changes I can simply pull from your originally cloned repository to a branch on my side and merge. Merging is sooooooo easy with GIT. So easy in fact that it makes you wonder how SVN got it so wrong and makes it so painful compared to GIT.
This is the model that the Linux kernel uses where anyone has a real copy of the repository, they work as they like, creating branches for features of what have you.
I am trying this with Oleg Gusakov who has many ideas and is helping me do some experiments with the artifact resolution system. But anyone else who is interested in trying just let me know. This document is the most helpful:
http://utsl.gen.nz/talks/git-svn/intro.html
And a little collection of things I have read about GIT:
http://del.icio.us/jvanzyl/git
It is so damn fast it is unbelievable. With the visual tool that comes with it you can see the entire history of the project in a few minutes. It is very, very cool. I simply cannot believe how easy it is to merge bits from all over the place. My hope is that this method being truly distributed means that people can work on their branches in a way that's natural and we remove the immense tedium working with patches. If you have something good, it's now very easy for me to pull a branch from you and try it. If that branch works it then takes me a second to merge it. I test and them push back to subversion using the git-svn bridge.
In the short term I really only want to try with a few people but if you're keen, want to learn about GIT (which I highly, highly recommend) then I will take your patches. I think any developer here and anyone who has ever tried to contribute changes sees that the JIRA+patch model is highly unworkable and bordering on completely useless. JIRA might be fine to raise the issue but with a reference to a GIT repository to pull from it will make life infinitely easier. People who are not committers can work with people that are in a way that resembles everyon being part of the team. Dealing with patches just sucks ass and as a result we don't look at them nearly as often as we should so I hope this can become a model that enables people to contribute in a more effective way. I'm going to try this with Oleg but I am highly hopeful. I will help anyone who wants to try this as I see this as a way to truly collaborate with the community. Down with JIRA+patches! All hail JIRA+GIT! :-)
Thanks,
Jason
------------------------------------------------------------------------
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Stéphane Laurière slauriere@xwiki.com XWiki http://www.xwiki.com http://concerto.xwiki.com http://nepomuk.semanticdesktop.org
Hi, For those like me who never heard about git before this thread, here's a good introduction video on git and distributed source management at google by Linus himself : http://www.youtube.com/watch?v=4XpnKHJAok8 It last about 1 hour and is very interesting. I like the fact git tries (and seem to succeed) to bind the software usage to human real-life interactions/networks of trusts. Can't wait to experiment :) Jérôme.
Very interesting indeed... We're looking at GIT also in the XWiki Concerto project http://concerto.xwiki.com, since GIT can be looked at as a P2P collaborative editing system, not so far from the P2P features we have in mind for the Concerto P2P wiki: the peers exchange content patches with one another.
From previous discussions with Ludovic, it seems that the main difference between GIT and a P2P wiki is that in GIT, merging resources occurs probably only once when submitting a patch and is done manually, whereas in the P2P wiki being designed in Concerto, merging is supposed to occur on several peers of the system in automated way. An in depth comparison of the approaches remains to be done though.
Here are my bookmarks on git, and more generally on distributed revision control systems: http://del.icio.us/arkub/git http://del.icio.us/arkub/drcs
That'd be excellent to set up a common repository at some point for experimenting with GIT within the XWiki community...
Cheers
Stéphane
Vincent Massol wrote:
Interesting... After reading about distributed SCMs for some time now I think I'm ready to take the plugin and try some experiments as Jason as done.
My only worry so far about using a tool like Git was about the tooling (in IDE, etc). Now that Jason as taken the plunge, I'll do some research on it too in the background.
-Vincent
Begin forwarded message:
*From: *Jason van Zyl <jason@maven.org <mailto:jason@maven.org>> *Date: *September 29, 2007 7:40:42 PM CEDT *To: *Maven Developers List <dev@maven.apache.org <mailto:dev@maven.apache.org>> *Subject: **An Experiment with GIT* *Reply-To: *"Maven Developers List" <dev@maven.apache.org <mailto:dev@maven.apache.org>>
Hi,
For anyone who wants to make changes to Maven but doesn't have access I am going to setup a GIT repository to try and enable some distributed development. After using GIT for about a week I'm having a hard time using SVN but obviously we're not going to be switching anytime soon.
But for anyone who has patches or wants to try and work with me to get changes in I am going to try this method of publishing Maven as a GIT repository which will allow anyone to clone the repository and work on any changes you like in a controlled way. Once you clone you can commit changes to your own copy of Maven and do whatever you like. Then in order for me to see your changes I can simply pull from your originally cloned repository to a branch on my side and merge. Merging is sooooooo easy with GIT. So easy in fact that it makes you wonder how SVN got it so wrong and makes it so painful compared to GIT.
This is the model that the Linux kernel uses where anyone has a real copy of the repository, they work as they like, creating branches for features of what have you.
I am trying this with Oleg Gusakov who has many ideas and is helping me do some experiments with the artifact resolution system. But anyone else who is interested in trying just let me know. This document is the most helpful:
http://utsl.gen.nz/talks/git-svn/intro.html
And a little collection of things I have read about GIT:
http://del.icio.us/jvanzyl/git
It is so damn fast it is unbelievable. With the visual tool that comes with it you can see the entire history of the project in a few minutes. It is very, very cool. I simply cannot believe how easy it is to merge bits from all over the place. My hope is that this method being truly distributed means that people can work on their branches in a way that's natural and we remove the immense tedium working with patches. If you have something good, it's now very easy for me to pull a branch from you and try it. If that branch works it then takes me a second to merge it. I test and them push back to subversion using the git-svn bridge.
In the short term I really only want to try with a few people but if you're keen, want to learn about GIT (which I highly, highly recommend) then I will take your patches. I think any developer here and anyone who has ever tried to contribute changes sees that the JIRA+patch model is highly unworkable and bordering on completely useless. JIRA might be fine to raise the issue but with a reference to a GIT repository to pull from it will make life infinitely easier. People who are not committers can work with people that are in a way that resembles everyon being part of the team. Dealing with patches just sucks ass and as a result we don't look at them nearly as often as we should so I hope this can become a model that enables people to contribute in a more effective way. I'm going to try this with Oleg but I am highly hopeful. I will help anyone who wants to try this as I see this as a way to truly collaborate with the community. Down with JIRA+patches! All hail JIRA+GIT! :-)
Thanks,
Jason
------------------------------------------------------------------------
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Stéphane Laurière slauriere@xwiki.com
XWiki http://www.xwiki.com http://concerto.xwiki.com http://nepomuk.semanticdesktop.org
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
On Oct 15, 2007, at 12:31 PM, Jerome Velociter wrote:
It last about 1 hour and is very interesting. I like the fact git tries (and seem to succeed) to bind the software usage to human real-life interactions/networks of trusts. Can't wait to experiment :)
I did some experiments too. In particular I used its capabilities to create on the fly branches, switching them and merging. It is very useful to do experiments. Basically this page says it all: http://www.kernel.org/pub/software/ scm/git/docs/tutorial.html Hint: look at "Managing branches" section. Actually GIT seems to me a sort of RCS on (a lot of) steroids. Its peculiar capabilities make it easy to "export" it as a version control system as we usually think of it (i.e., like CVS does for RCS). And of course it does a lot more with respect to a "P2P-style" of working. Anyway it's a great utility... It's still a bit unsupported but people are starting to think about integration with popular IDEs and environments. My 2 cents, Fabio
participants (5)
-
David Ward -
Fabio Mancinelli -
Jerome Velociter -
Stéphane Laurière -
Vincent Massol