The average user uses update-webkit + some manual work, svn-create-
patch, svn-apply-patch
Behind the scenes these do, svn up, svn diff + some magic, patch + magic
Under git they would be
git fetch && git rebase origin/master + unfortunately some manual
work (described below)
git diff master + some magic
patch + magic
when svn and git hit conflicts they both require manual work, with
svn you do fix the conflict and tell svn that you're done with svn
resolved <file>
with git you have either git-mergetool, which will open a file diff
utility for each file with a conflict, or you can merge manually, and
use git add
What makes this simple, single branch development more tricky with
git is that git has the idea of local history, so it is necessary to
commit locally prior to updating, and then extra work is needed if
you want to retain a single patch for the final commit. We would
need to work out what the standard workflow should be in this mode.
So it is more difficult when doing simple single branch development,
but not insurmountably so, it gets more copmlicated once you start
dealing with many branches but that's not something you can do with
svn even if you wanted to.
--Oliver
On Oct 8, 2007, at 10:48 PM, Brady Eidson wrote:
I think a 100% firm prerequisite is concise, precise, and novice-
level instructions on exactly how to use git in the context of
WebKit development.
As someone who has been living on git for a few weeks, I find many
of the conveniences to be great, and it is obviously very powerful.
But "steep learning curve" is an understatement - more like "throw
out your CVS and SVN experience, and relearn version control"
The potential is great, but think of the prospective developers who
are already (sadly) frustrated by the relatively tame learning
curve of SVN.
~Brady
On Oct 8, 2007, at 9:29 PM, Oliver Hunt wrote:
In recent weeks/months a number of webkit developers have started
using Git for day to day development, and have found it very
useful. Git is yet another revision control system, but unlike
RCS's such as cvs and svn it allows local branches and makes
merging branches much easier. In addition to making bracnhes much
more manageable, it has a few other advantages:
* Speed: Git is much faster than svn (which becomes very valuable
on windows,
* History: Git's history is much nicer than that of svn,
especially with regards to patches submitted by people without
commit rights, as it is able to distinguish the author of a patch
from the person who committed it.
* Collaboration: It is possible for people to publish their git
tree's in a way that allows them to be tracked by others, allowing
people to collaborate on bugs and/or features much more easily
without actually committing to a central repository.
Unfortunately, git is still not as user friendly as svn, and has a
relatively steep learning curve (largely due to it using some
similar commands to svn for completely different purposes :-/ )
On the other hand, those of us using git currently have to use the
git-svn bridge which, while functional, is somewhat slow. I think
(and i'm hoping others agree) that despite the slightly more
complex interface the improved merging, branching, and speed mean
that we should seriously consider switching to git as our primary
RCS.
Any comments from others are welcome.
--Oliver
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev