These instructions will help you clone a copy of any of the Instant Messaging
Freedom hosted [
Mercurial](
https://mercurial-scm.org) repositories and keep
These instructions are just for cloning/updating the Instant Messaging Freedom
realated repositories. If you're looking for documentation on contributing
code, please see the [
Code Contributions](
code_contributions.md) page after you
have successfully cloned the repository from this page.
In Distributed Version Control, ***cloning*** is the act
of acquiring a source repository. All of the Instant Messaging Freedom related
repositories are hosted in Mercurial at
[
keep.imfreedom.org](
https://keep.imfreedom.org/). To clone them you will be
using the command
`hg clone <URL>`. The specific URL can be looked up in the
table below depending on what you are trying to clone.
> If you are trying to build Pidgin 3, you can just clone that repository and > the build system will automatically clone the other repositories for you. | Repository | Description |
| ---------- | ----------- |
| [
keep.imfreedom.org/gplugin/gplugin/](
https://keep.imfreedom.org/gplugin/gplugin/) | The plugin library used in Pidgin 3. |
| [
keep.imfreedom.org/libgnt/libgnt/](
https://keep.imfreedom.org/libgnt/libgnt/) | The toolkit library used in Finch. |
| [
keep.imfreedom.org/pidgin/pidgin/](
https://keep.imfreedom.org/pidgin/pidgin/) | The main Pidgin repository. |
| [
keep.imfreedom.org/talkatu/talkatu/](
https://keep.imfreedom.org/talkatu/talkatu/) | The conversation widgets used in Pidgin 3. |
There are additional repositories under
[
gplugin/](
https://keep.imfreedom.org/gplugin/),
[
libgnt/](
https://keep.imfreedom.org/libgnt/),
[
imfreedom/](
https://keep.imfreedom.org/imfreedom/),
and [
pidgin/](
https://keep.imfreedom.org/pidgin/)
which contain other miscellaneous things.
You can see an example clone of Talkatu below but all of the repositories will
$
hg
clone
https://keep.imfreedom.org/talkatu/talkatu
destination
directory:
talkatu
added
348 changesets
with
1074 changes
to
268 files
new
changesets
0feed1461a4a:f0fda4aace2d
updating
to
branch
default
109 files
updated,
0 files
merged,
0 files
removed,
0 files
unresolved
## Keeping Your Clone Up To Date If you are just tracking development and are not contributing, chances are you
still on the ***default*** branch. But let's make sure, and run
`hg update default`. This will change to the ***default*** branch if you're
not currently on it or do nothing.
Now that you are on the ***default*** branch, you can
simply run
`hg pull --update` to pull in all new changes and
update your local copy. Please note, if you accidentally run
`hg pull`, that is without the update, a subsequent
`hg pull --update` will not update to the latest revisions as
this invocation of
`hg pull` did not find any new revisions. To
properly update in this scenario, you'll need to run
Below is an example of updating Talkatu when it's already up to date.
pulling
from
https://keep.imfreedom.org/talkatu/talkatu
At this point you can review the code, build it, patch it, etc.