Bugzilla:Git: Difference between revisions

(Update instructions for using ssh)
(Update to reference Github)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
The Bugzilla Project uses the [http://git-scm.com/ git] Version Control System. You can see the contents of the Bugzilla git repository on [http://git.mozilla.org/?p=bugzilla/bugzilla.git;a=summary Mozilla's git server].
__NOTOC__
The Bugzilla Project uses the [http://git-scm.com/ git] Version Control System. You can see the contents of the Bugzilla git repository on [https://github.com/bugzilla/bugzilla Github].


= Checking Code Out of git =
= Checking Code Out of git =
Line 5: Line 6:
The simplest way to get the latest Bugzilla development code is:
The simplest way to get the latest Bugzilla development code is:


   git clone https://git.mozilla.org/bugzilla/bugzilla
   git clone https://github.com/bugzilla/bugzilla


That will clone the Bugzilla git repository into a directory called "bugzilla" and will check out the "master" branch.
That will clone the Bugzilla git repository into a directory called "bugzilla" and will check out the "master" branch.
Line 18: Line 19:
If you have checkin rights and plan to use them, remember to also execute:
If you have checkin rights and plan to use them, remember to also execute:


   git remote set-url --push origin ssh://gitolite3@git.mozilla.org/bugzilla/bugzilla
   git remote set-url --push origin git@github.com:bugzilla/bugzilla.git


== Getting A Specific Release ==
== Getting A Specific Release ==
Line 36: Line 37:
= Updating to a Newer Release =
= Updating to a Newer Release =


== No local changes ==
See https://bugzilla.readthedocs.org/en/latest/installing/upgrading-with-git.html .
 
If you have no local changes to any tracked files, upgrading to both minor and major releases is simple:
 
  git fetch
  git checkout bugzilla-(version)
 
where ''(version)'' is the version number that you want to update to, like <code>4.4.2</code>.
 
== Local, uncommitted changes ==
 
The above checkout command will fail if you've made any modifications to files you checked out from git with a warning about overwriting local changes.  In this case, the simple solution is to stash and then reapply your changes (assuming you've done the "git fetch" already):
 
  git stash save
  git checkout bugzilla-(version)
  git stash apply
 
However, it is better to create a local branch, which is one of git's strengths.  You can track your customizations and merge in changes from upstream.
 
== Local branch ==
 
...
 
= Creating patches with git =


= Checking in using git =
= Checking in using git =


See [[Bugzilla:Committing_Patches]].
See [[Bugzilla:Committing_Patches]].
= Writing Patches On Top of Other Patches =


[[category:Bugzilla]]
[[category:Bugzilla]]

Latest revision as of 13:01, 5 August 2016

The Bugzilla Project uses the git Version Control System. You can see the contents of the Bugzilla git repository on Github.

Checking Code Out of git

The simplest way to get the latest Bugzilla development code is:

 git clone https://github.com/bugzilla/bugzilla

That will clone the Bugzilla git repository into a directory called "bugzilla" and will check out the "master" branch.

If you want other branches, in the bugzilla directory simply checkout another branch:

 cd bugzilla
 git checkout 4.2

That will switch the files in the working directory to latest commit on the 4.2 branch. Note that this doesn't necessarily correspond to the latest release in that series; additional patches may have been checked in since.

If you have checkin rights and plan to use them, remember to also execute:

 git remote set-url --push origin git@github.com:bugzilla/bugzilla.git

Getting A Specific Release

Every time we release a version of Bugzilla, we tag the git repository so that the point in history that matches with that release can be explicitly checked out of the repository. For example, to check out Bugzilla 4.1.3, you would do:

 git checkout release-4.1.3

That will switch the files in the working directory to the commit released as version 4.1.3.

You will usually get a warning here about being in a "detached HEAD" state; this is fine unless you'll be modifying the code in your installation, at which point you should create a local branch to preserve your change history.

To see a list of all the tags available do

 git tag

Updating to a Newer Release

See https://bugzilla.readthedocs.org/en/latest/installing/upgrading-with-git.html .

Checking in using git

See Bugzilla:Committing_Patches.