On Wednesday, April 10, 2013 9:22:18 PM UTC+2, Alex Epshteyn wrote: > > Thanks Thomas! Is it possible to still use SVN by any chance? I haven't > made the leap over to git yet as I'm still using an older version of > IntelliJ without git support. If not, could you help me out with some > command-line examples of how to submit my patch using git and Gerrit. >
It's actually rather easy (this is for Linux/Mac, adapt for Windows if needed): 1. svn checkout http://google-web-toolkit.googlecode.com/svn/tools/ tools/ # dependencies are here until we move to Maven 2. git clone https://gwt.googlesource.com/gwt 3. cd gwt 4. One-time setup specific to Gerrit: download https://gwt-review.googlesource.com/tools/hooks/commit-msg into .git/hooks/commit-msg and make sure the file is executable (chmod +x) 5. You're ready to hack; below is "standard Git": 1. git checkout -b feature-branche master # create a branch off of master for your feature You'll then use "git branch" to list your branches, and "git checkout my-branch" to switch branches. 2. …hack hack hack… 3. Use git status, git add and git commit to commit your files (add --help for help); or try "git gui" or "git citool" for a GUI (that's what I use) With Gerrit, each commit will be reviewed independently, so unless you really mean to have 2 commits, you'll "git commit --amend" your one and only commit for a given feature/fix (first create a commit with "git commit", then if you need to update it, use "git commit --amend"). Only use this locally (before you "git push", see below) or when working with commits under review in Gerrit. Updating a review is just a matter of amending the commit and pushing it again. 6. To push your commit for review: git push origin feature-branch:refs/for/master If you're on the feature-branch, your can also use "git push origin HEAD:refs/for/master" (HEAD corresponds to the currently checked out commit); refs/for/master means "this is intended to be merged into master" Note: you'll have to generate a password from the Gerrit web UI to be able to push. 7. Last, but not least, to stay up-to-date: 1. git checkout master 2. git pull 3. Note: do only ever "git pull" when on the "master" branch. 4. If you need update a branch to a newer "master" (because there's been changes that would conflict with your changes) 1. git checkout my-branch 2. git rebase master Git will tell you if there are conflicts and should tell you what to do. Hint: "git mergetool" to resolve conflicts, then "git rebase --continue" when done. 8. Once your change has been merged (or if you want to delete your work): 1. git branch -D my-branch # generally done from master -- -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups "Google Web Toolkit Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
