User Tools

Site Tools


devel:getting_started_1.15_or_earlier
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


devel:getting_started_1.15_or_earlier [2015-11-28 21:50] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +This article helps you to get started on software development with the Doomsday Engine.
 +
 +
 +====== Before you begin ======
 +
 +It is important to understand, that Doomsday is an open source project.  Doomsday is licensed under the [[http://www.gnu.org/licenses/gpl.html|GNU GPL v2 or later]] license.
 +
 +To further that goal, we ask that all contributions use the following license:
 +  * This program is free software; you can redistribute it and/or modify
 +   * it under the terms of the GNU General Public License as published by
 +   * the Free Software Foundation; either version 2 of the License, or
 +   * (at your option) any later version.
 +   *
 +   * This program is distributed in the hope that it will be useful,
 +   * but WITHOUT ANY WARRANTY; without even the implied warranty of
 +   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +   * GNU General Public License for more details.
 +   *
 +   * You should have received a copy of the GNU General Public License
 +   * along with this program; if not, see <http://www.gnu.org/licenses/>
 +
 +If you do not wish to use the [[http://www.gnu.org/licenses/gpl.html|GPL]] or a compatible license like the [[http://www.opensource.org/licenses/mit-license.php|MIT]], [[http://www.opensource.org/licenses/bsd-license.php|New BSD]] or [[http://www.gnu.org/licenses/lgpl.html|LGPL]], then we can't accept your contribution.
 +
 +
 +===== Requirements =====
 +
 +
 +Check that Doomsday's [[requirements]] are fulfilled.
 +
 +
 +====== Tools needed ======
 +
 +
 +^ Tool^ Windows^ Mac OS X^ Ubuntu |
 +| **Git**| [[http://code.google.com/p/tortoisegit/|TortoiseGit]] is a nice Git client for Windows. It integrates with the Windows shell.| Git should be installed along with Xcode, but you can also get it from [[http://www.macports.org/|MacPorts]] or [[http://mxcl.github.com/homebrew/|Homebrew (Intel-only)]].| Available as a package (see distro). |
 +| **qmake**| [[http://qt.nokia.com|Qt web site]]| qt4-qmake, libqt4-dev |
 +| **Qt Creator** (optional)| [[http://qt.nokia.com|Qt web site]]| qtcreator |
 +| **Other tools**| | | [[build_tools_for_unix]] |
 +
 +
 +
 +====== Accessing the deng source code repository ======
 +
 +
 +The deng source code is stored in a [[http://github.com/skyjake/Doomsday-Engine|Git repository on GitHub]]. You can browse the contents of the repository by visiting that link.
 +
 +
 +===== About Git =====
 +
 +Git is an advanced distributed version control system. Before you do anything else, you should familiarize yourself with its basic functionality and operating principles. These should get you started:
 +  *  [[http://git-scm.com/documentation|Git documentation]]: tutorial, introduction for SVN users, user's manual, etc.
 +  *  [[http://www.youtube.com/watch?v=4XpnKHJAok8|Linus Torvard's talk about Git at Google]]
 +
 +
 +===== Setting up a working copy =====
 +
 +To get a copy of the Doomsday source files to your own computer, you will first need to set up your working copy of the [[git_repository|deng repository]]. With Git being a distributed version control system, every working copy is actually a full, independent copy of the entire repository. Once you have your working copy set up, it will be configured to fetch changes from the GitHub Doomsday-Engine repository.
 +
 +The first thing you will need to is to clone the deng repository:
 +  git clone https://github.com/skyjake/Doomsday-Engine.git //name-of-your-working-copy//
 +
 +This will download the full repository (about 200MB) from GitHub, so it may take a while.
 +
 +Next, you should make sure your repository configuration is good. To see all your Git configuration settings, type:
 +  git config -l
 +
 +Your master branch should be tracking //origin//'s (= the GitHub repository) master branch:
 +  branch.master.remote=origin
 +  branch.master.merge=refs/heads/master
 +  remote.origin.url=https://github.com/skyjake/Doomsday-Engine.git
 +  remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
 +
 +You may find it convenient to set a default branch for pulling changes:
 +  git config pull.default tracking
 +
 +The options //user.name// and //user.email// should be set if you are going to commit changes to your repository.
 +  user.name=yourname
 +  user.email=your.email@some.domain
 +
 +
 +===== Getting new changes =====
 +
 +To synchronize your copy of the repository with the origin, use the following command:
 +  git pull
 +
 +This will fetch the new changes from the deng repository and merge them to your working copy.
 +
 +
 +===== Switching to another branch =====
 +
 +Say you want to work on another branch, e.g., stable-1.10. You will first need to create a local branch that tracks the changes of the stable-1.10 branch in the deng repository:
 +  git checkout -t -b stable-1.10 origin/stable-1.10
 +
 +This will also automatically switch to the new branch. In the config you now see:
 +  branch.stable-1.10.remote=origin
 +  branch.stable-1.10.merge=refs/heads/stable-1.10
 +
 +This means your stable-1.10 is tracking the one in the //origin// repository.
 +
 +Now you can switch between your branches with:
 +  git checkout master
 +  git checkout stable-1.10
 +
 +
 +====== Building Doomsday ======
 +
 +
 +//See:// [[compilation]]
 +
 +
 +====== See also ======
 +
 +  *  [[deng_team]]
 +  *  [[developer_guidelines]]
 +  *  [[api_documentation]]
 +
 +
  
devel/getting_started_1.15_or_earlier.txt · Last modified: 2015-11-28 21:50 by 127.0.0.1