Open main menu

CDOT Wiki β

Changes

Mercurial-nexj

4,705 bytes added, 12:28, 17 November 2010
Created page with ' <big><big> Continuous Integration Project - Mercurial</big></big> {{NexJ_Express Index}} ==Introductions & Tutorials== : Main website @ http://mercurial.selenic.com/ : Mozilla…'


<big><big> Continuous Integration Project - Mercurial</big></big>
{{NexJ_Express Index}}
==Introductions & Tutorials==
: Main website @ http://mercurial.selenic.com/
: Mozilla Mercurial @ https://wiki.mozilla.org/Mercurial_on_Windows
: compare version control tools [http://martinfowler.com/bliki/VersionControlTools.html]
: Understanding Mercurial @ http://mercurial.selenic.com/wiki/UnderstandingMercurial
: Tutorial-wiki @ http://mercurial.selenic.com/wiki/Tutorial

==Installation==
: Installing in windows[http://www.codza.com/mercurial-with-ssh-setup-on-windows]
: More about installation [http://www.aventinesolutions.nl/mediawiki/index.php/Quick_Tip:_Getting_Started_with_Mercurial]

==Mercurial on Eclipse==
: Eclipse-Mercurial [http://www.javaforge.com/wiki/76412]
: Eclipse-Mercurial Video [http://blogs.intland.com/main/entry/39]-[http://code.google.com/p/hgeclipse-demo/ Demo]
: Documentation for Eclipse-Mercurial [http://bitbucket.org/mercurialeclipse/main/wiki/Documentation]

==Notes==
: The Definitive Guide, is a documentation for hg ([http://matrix.senecac.on.ca/~mziaei1/CDOT/hgbook.pdf PDF] or [http://hgbook.red-bean.com/read/ Html]).
: TortoiseHg Documentation [http://matrix.senecac.on.ca/~mziaei1/CDOT/TortoiseHg.pdf ]
: Creating a Version Control Repository [http://wiki.secondlife.com/wiki/Creating_a_version_control_repository]
: Mozilla Mercurial [https://developer.mozilla.org/en/Mercurial_FAQ]

*Some Basic Terms (from [http://matrix.senecac.on.ca/~mziaei1/CDOT/hgbook.pdf The Definitive Guide])
: 1- The .hg directory is the “real” repository, and all of the files and directories that coexist with it are said to live in the ''working directory''.
::An easy way to remember the distinction is that the ''repository'' contains the history of your project, while the ''working directory'' contains a snapshot of your project at a particular point in history.
: 2- The ''hg log'' command gives us a view of the history of changes in the repository. By default, this command prints a brief paragraph of output for each change to the project that was recorded.
:: Each of these recorded events are called a ''changeset'', because it can contain a record of changes to several files. ''Changeset'' is also referred to as''change'',''cset'',''revision'' or ''rev''.
: 3- ''Changeset'' field has the format of a number (''identifier'', which is only valid in that repository) followed by a colon, followed by a hexadecimal (or hex) string. These are identifiers for the changeset.
::The hex string is a unique identifier: the same hex string will always refer to the same changeset in every copy of this repository. The number is shorter and easier to type than the hex string, but it isn't unique: the same number in two different clones of a repository may identify different changesets. ''changeset: 0:0a04b987be5a''
:4- Mercurial uses revision numbers purely as a convenient shorthand. If you need to discuss a changeset with someone, or make a record of a changeset for some other reason (for example, in a bug report), use the hexadecimal identifier.
:5- Some changesets, have a tag field. A ''tag'' is another way to identify a changeset, by giving it an easy-to-remember name. ''tag: tip''
:6- To get the changeset id of the tipmost changeset of a remote repository you can do: When it changes, you have new changesets in the remote repository.[http://mercurial.selenic.com/wiki/FAQ#FAQ.2BAC8-CommonProblems.How_can_I_find_out_if_there_are_new_changesets_in_a_remote_repository.3F]
<source lang=perl>
> hg id -i -r tip http://www.selenic.com/repo/hello
[[[link-to-a-page]]]
[url=http://example.com]Example[/url]
82e55d328c8c
</source>
:7- Some aliases:
::st = status / ci = commit /
:8- mq tutorial [http://mercurial.selenic.com/wiki/MqTutorial]
:9- ant task for hg [http://ant4hg.free.fr/specifications.html#functionality-init ANT4HG]
==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.
:[http://mercurial.selenic.com/wiki/EditingHistory Trimming History]
:[http://www.selenic.com/mercurial/hgrc.5.html .hgrc file]
:[http://mercurial.selenic.com/wiki/TipsAndTricks mq strip changeset]
:[http://mercurial.selenic.com/wiki/EditingHistory Editing History!!]
1
edit