1 *WARNING* *WARNING* *WARNING* *WARNING* *WARNING* *WARNING* *WARNING*
2 The Git tree may not always have code which can currently be built.
3 While every effort is made to keep the head of the tree buildable,
4 you may at any time find yourself between commits and hence have a tree
5 which does not build, or worse, causes more serious problems!
7 Do not use the Git tree unless you know what you're doing.
9 Git checkouts do not include files generated by autoconf. You can
10 run regen.sh (at the top level) to create these files. You will need
11 to have autoconf and automake installed on your system.
16 Browse: http://git.openafs.org/
17 Clone: git clone git://git.openafs.org/openafs.git
22 1. Obtain the Git software. If you are using a system with a standard
23 software repository, Git may already be available as a package named
24 something like git or git-core. Otherwise, go to http://git-scm.com/
28 % git clone git://git.openafs.org/openafs.git
30 This will download the full repository and leave a checked-out tree in
31 a subdirectory of the current directory named openafs. The repository
32 itself is in the .git subdirectory of that directory.
34 WARNING: The repository is approximately 60MiB currently and will only
35 grow, so it may take some time to download the first time over a slow
38 3. Generate the additional required files:
43 The current development series is in the branch named master. The stable
44 releases are on separate branches named something like
45 openafs-stable_<version> with a separate branch for each major stable
46 release series. Use git branch -a to see a full list of branches.
48 OpenAFS uses the Gerrit code review system to review and merge all changes
49 to OpenAFS. More details are at:
51 http://wiki.openafs.org/GitDevelopers/
53 including more detailed Git instructions.
55 It's by far preferred to use Gerrit to submit code changes, but if you
56 can't for whatever reason, you can instead open a bug and submit a patch
57 that way. Do this by sending mail to openafs-bugs@openafs.org with the
58 patch attached. But please use Gerrit if you can; patches sent in as bugs
59 will have to be forwarded to Gerrit by someone else, and it's easier for
60 everyone if you can enter them into Gerrit yourself.
64 All patches should land on master first, unless the patch fixes a bug
65 that only exists in the stable branch.
67 Once a patch has been accepted into master, anyone can propose
68 backports to stable branches.
70 When cherry-picking a commit from another branch, please append a
71 "cherry picked from" section in your commit message. You'll also need
72 a separate Change-ID for Gerrit to recognize this as a separate
73 change. One workflow to do this:
75 1) Use "git cherry-pick -ex" to pick your commits onto another branch.
76 The -x option will append the appropriate "cherry picked from"
77 message, and the -e option will open your editor for you to edit
79 2) In your editor, delete the existing Change-ID line. Save and quit.
80 3) Run "git commit --amend", saving and quitting again. Git will run
81 the commit hook and generate a new Change-ID for Gerrit.