Changes between Version 32 and Version 33 of UsingGitWithWebKit


Ignore:
Timestamp:
Aug 18, 2009 7:07:25 PM (15 years ago)
Author:
mrowe@apple.com
Comment:

Clear up the section about git-svn

Legend:

Unmodified
Added
Removed
Modified
  • UsingGitWithWebKit

    v32 v33  
    2020   port install git-core
    2121}}}
    22 or if you're using [http://www.macports.org/ MacPorts] and you want to track the svn repository (e.g., a committer):
     22or if you're using [http://www.macports.org/ MacPorts] and you want to track the Subversion repository (e.g., a committer):
    2323{{{
    2424   port install git-core +svn
     
    3636}}}
    3737
    38 If you'd also like to track the svn repository (the {{{git update-ref}}} command is the secret to reusing the cloned git repository to fast-forward to the tip of the svn repository):
     38If you'd also like to track the Subversion repository (the {{{git update-ref}}} command is the secret to reusing the cloned git repository to fast-forward to the tip of the Subversion repository):
    3939
    4040{{{
     
    4444}}}
    4545
     46This will add the following section to your `.git/config`:
     47
     48{{{
     49[svn-remote "svn"]
     50        url = http://svn.webkit.org/repository/webkit
     51        fetch = trunk:refs/remotes/trunk
     52}}}
     53
     54You can then run the following command to have `git-svn` rebuild its metadata from your local repository, and to pull any recent commits from the WebKit SVN repository.
     55
     56{{{
     57   git svn fetch
     58}}}
     59
    4660== Updating ==
    4761
    48 If you are tracking the svn repository, this command will fetch information about new commits from svn, reset your local branch to match svn exactly, and then apply your local commits on top:
     62If you're not tracking the Subversion repository the following command will fetch new commits from `git.webkit.org`:
     63
     64{{{
     65    git fetch
     66}}}
     67
     68You can then merge or rebase your local branches with `origin/master` to pick up the new commits.
     69
     70If you are tracking the Subversion repository, this command will fetch information about new commits from Subversion, reset your local branch to match Subversion exactly, and then apply your local commits on top:
    4971
    5072{{{
     
    5274}}}
    5375
    54 If you are tracking the svn repository, this command will fetch information about new commits from svn:
     76If you'd like to fetch new commits from the Subversion repository without moving your local branch, you can use the following command:
    5577
    5678{{{
     
    5880}}}
    5981
    60 == Commit through git svn ==
     82== Commit through git-svn ==
    6183
    62 If you have been granted commit access to WebKit's svn repository it is possible to work entirely with git and still commit through git svn.
     84If you have been granted commit access to WebKit's SVN repository it is possible to work entirely with git and to commit through `git-svn`.
    6385
    64 First, you'll need to make sure you have the appropriate remote in your git config:
    65 
    66 {{{
    67 [svn-remote "svn"]
    68     url = http://svn.webkit.org/repository/webkit/trunk
    69     fetch = :refs/remotes/git-svn
    70 }}}
    71 
    72 Now, you need to update your repo to the latest from the svn repository.  You can either:
    73 
    74  * Run 'git svn rebase' which will be incredibly slow...
    75  * Use the {{{git update-ref}}} trick manually as mentioned above...
    76  * Use the handy {{{update-gitsvn-from-origin}}} script found in the QtWebKit tools repository here: http://gitorious.org/qtwebkit/tools
    77 
    78 After you have a working remote and have fetched all the blobs of info from it you can:
    79  1. Create a 'tot_staging' branch or whatever name you choose
     86After you have configured your working copy to track the Subversion repository you can:
     87 1. Create a `tot_staging` branch or whatever name you choose
    8088 2. Apply a patch, cherry-pick a commit, or even merge a branch if it has been reviewed
    81  3. Run {{{git svn rebase}}} and fix any ChangeLog conflicts that might result
    82  4. And then when everything is ready: {{{git svn dcommit}}}
     89 3. Run `git svn rebase` and fix any ChangeLog conflicts that might result
     90 4. And then when everything is ready: `git svn dcommit`.
    8391
    8492== WebKit Script support for Git ==
    8593
    86 The various scripts in WebKitTools/Scripts have been made to work pretty well with Git.  Here are some
     94The various scripts in `WebKitTools/Scripts` have been made to work pretty well with Git.  Here are some
    8795of the specific things you can do with them:
    8896
     
    152160
    153161== Ignores ==
    154  * You can setup your git repository to ignore the same files that are ignored in the tracked svn repository with: (this will take some time)
     162 * You can setup your git repository to ignore the same files that are ignored in the tracked Subversion repository with: (this will take some time)
    155163{{{
    156164git svn show-ignore >> .git/info/exclude