11 | | You can download Git binaries directly from the [http://git-scm.com/download official site!] Or: |
12 | | |
13 | | === Mac users === |
14 | | * Update your Git install: http://code.google.com/p/git-osx-installer/ |
15 | | * Update your SVN install (for `git-svn` bindings): http://www.open.collab.net/downloads/community/ |
16 | | * Mac port: |
17 | | {{{ |
18 | | sudo port install git-core +svn+bash_completion |
19 | | }}} |
20 | | |
21 | | === [http://www.debian.org Debian] users === |
22 | | {{{ |
23 | | sudo apt-get install git-core git-svn |
24 | | }}} |
25 | | |
26 | | === Windows users === |
27 | | Install git for Cygwin using the Cygwin installer. |
28 | | |
29 | | Cygwin's git is functionally complete but has performance issues. For better performance, you can use [http://code.google.com/p/msysgit msysgit] (note that you still need Cygwin's git to work with some of WebKit's scripts): |
30 | | |
31 | | * [http://code.google.com/p/msysgit/downloads/list Download the latest msysgit full installer]. You want the file with the label "Full installer for official Git", like Git-N.N.N.N-*.exe, not the mysysGit-* files. |
32 | | * When installing msysgit, tell the installer to: |
33 | | * Use Git Bash only |
34 | | * Checkout as-is, commit as-is |
35 | | * Choose `Start > Programs > Git > Git Bash` |
36 | | * Create a file named .bashrc in your Git Bash home directory that contains the following: |
37 | | {{{ |
38 | | cd /c/cygwin/home/<username> |
39 | | export HOME=$(pwd) |
40 | | }}} |
41 | | * Relaunch Git Bash. The shell should be using your Cygwin home directory as its home directory. |
42 | | |
43 | | Whenever you want to run a git command manually, use Git Bash. You can also run `prepare-ChangeLog` from Git Bash. |
| 11 | See https://webkit.org/getting-started/#installing-developer-tools |
46 | | To checkout WebKit using git: |
47 | | |
48 | | {{{ |
49 | | git clone git://git.webkit.org/WebKit-https.git WebKit |
50 | | }}} |
51 | | |
52 | | or |
53 | | |
54 | | {{{ |
55 | | git clone https://git.webkit.org/git/WebKit-https.git WebKit |
56 | | }}} |
57 | | |
58 | | Run the following command to automatically configure the local clone to follow subversion: |
59 | | |
60 | | {{{ |
61 | | Tools/Scripts/webkit-patch setup-git-clone |
62 | | }}} |
63 | | |
64 | | Or follow the instructions below. |
65 | | |
66 | | If you want to be able to commit changes to the Subversion repository, or just want to check out branches that aren't contained in WebKit.git, you will need track the Subversion repository. To do that, inform `git-svn` of the location of the WebKit SVN repository, and update the branch that `git-svn` uses to track the Subversion repository so that it will re-use the history that we've already cloned from `git.webkit.org` rather than trying to fetch it all from Subversion: |
67 | | |
68 | | {{{ |
69 | | cd WebKit |
70 | | git svn init --prefix=origin/ -T trunk https://svn.webkit.org/repository/webkit |
71 | | git config --replace svn-remote.svn.fetch trunk:refs/remotes/origin/master |
72 | | git config --replace svn-remote.svn.rewriteRoot https://svn.webkit.org/repository/webkit |
73 | | }}} |
74 | | |
75 | | This will add the following section to your `.git/config`: |
76 | | |
77 | | {{{ |
78 | | [svn-remote "svn"] |
79 | | url = https://svn.webkit.org/repository/webkit |
80 | | fetch = trunk:refs/remotes/origin/master |
81 | | rewriteRoot = https://svn.webkit.org/repository/webkit |
82 | | }}} |
83 | | |
84 | | You 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. |
85 | | |
86 | | {{{ |
87 | | git svn fetch |
88 | | }}} |
| 14 | |
| 15 | See https://webkit.org/getting-the-code/ |