Difference between revisions of "User:Minooz/Mercurial"
(→Documentation) |
|||
Line 17: | Line 17: | ||
===[[ User:Minooz/Mercurial/notes | Notes]]=== | ===[[ User:Minooz/Mercurial/notes | Notes]]=== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Challenges=== | ===Challenges=== |
Revision as of 15:59, 7 October 2010
Contents
Mercurial Project
Mercurial
- Main website @ http://mercurial.selenic.com/
- Mozilla Mercurial @ https://wiki.mozilla.org/Mercurial_on_Windows
- compare version controls [1]
- Understanding Mercurial @ http://mercurial.selenic.com/wiki/UnderstandingMercurial
- Tutorial-wiki @ http://mercurial.selenic.com/wiki/Tutorial
Installation
Mercurial on Eclipse
Notes
Challenges
- 1- First challenge is how to trim history of a repository.
- We have a Mercurial repository called A. We want to clone repo A and create a new repo called B.
- It's possible to use 'init' and create a new repo and just copy the files from repo A and add them.
- This way the revision number will reset. And we will start repo B from the tip of the repo A.
- The problem appears if we want to clone just the tip of the repo A and keep the same revision number of the 'tip'.
- Here are some links that we went through, but no success yet.
- Trimming History
- .hgrc file
- mq strip changeset
- Editing History!!
Continuous Integration System
- Hudosn
- Apache Continuum
- Cruise Control
- http://cruisecontrol.sourceforge.net/
- http://cruisecontrol.sourceforge.net/dashboard.html
- How to build, deploy, and monitor Java applications: Pragmatic Project Automation
- Pragmatic Bookshelf
- Maven
- Buildbot
- The Buildbot is a system to automate the compile/test cycle required by most software projects to validate code changes. By automatically rebuilding and testing the tree each time something has changed, build problems are pinpointed quickly, before other developers are inconvenienced by the failure. [7]
- Here is the documentation for Buildbot. This video also explains different features of this system.
- The buildmaster is usually fed Changes by some sort of version control system, which may cause builds to be run. As the builds are performed, various status messages are produced, which are then sent to any registered Status Targets.
- -Change Sources, which create a Change object each time something is modified in the VC repository. Most ChangeSources listen for messages from a hook script of some sort. Some sources actively poll the repository on a regular basis. All Changes are fed to the Schedulers.
- - Schedulers, which decide when builds should be performed. They collect Changes into BuildRequests, which are then queued for delivery to Builders until a buildslave is available.
- -Builders, which control exactly how each build is performed (with a series of BuildSteps, configured in a BuildFactory). Each Build is run on a single buildslave.
- -Status plugins, which deliver information about the build results through protocols like HTTP, mail, and IRC.
- Common Requirements
- At a bare minimum, you'll need the following for both the buildmaster and a buildslave:
- -Python: http://www.python.org Buildbot requires python-2.4 or later.
- -Twisted: http://twistedmatrix.com (Twisted is an event-driven networking engine written in Python and licensed under the MIT license.)
- Requirements for Buildmaster
- -sqlite3: http://pypi.python.org/pypi/pysqlite
- The sqlite3 package is required for python-2.5 and earlier (it is already included in python-2.5 and later, but the version in python-2.5 has nasty bugs)
- -simplejson: http://pypi.python.org/pypi/simplejson
- The simplejson package is required for python-2.5 and earlier (it is already included as json in python-2.6 and later)
- -Jinja2: http://jinja.pocoo.org/2
- Jinja2 is a general purpose templating language and is used by Buildbot to generate the HTML output.