summaryrefslogtreecommitdiff
path: root/doc/reference/libpurple/mercurial.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/reference/libpurple/mercurial.md')
-rw-r--r--doc/reference/libpurple/mercurial.md85
1 files changed, 85 insertions, 0 deletions
diff --git a/doc/reference/libpurple/mercurial.md b/doc/reference/libpurple/mercurial.md
new file mode 100644
index 0000000000..70a5835b3e
--- /dev/null
+++ b/doc/reference/libpurple/mercurial.md
@@ -0,0 +1,85 @@
+Title: Using Pidgin Mercurial
+Slug: using-pidgin-mercurial
+
+## Using Pidgin Mercurial
+
+### Introduction
+
+These instructions will help you clone a copy of any of the Pidgin
+related [Mercurial](https://mercurial-scm.org)
+repositories and keep them up to date.
+
+These instructions are just for cloning/updating the Pidgin repositories.
+If you're looking for documentation on contributing code, please see the
+[Code Contributions](code_contributions.html)
+page after you have successfully cloned the repository from this page.
+
+### Cloning
+
+In Distributed Version Control, ***cloning*** is the act
+of acquiring a source repository. All of the Pidgin 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 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.
+
+#### Repositories
+
+[https://keep.imfreedom.org/gplugin/gplugin/](https://keep.imfreedom.org/gplugin/gplugin/)
+: The plugin library used in Pidgin 3.
+
+[https://keep.imfreedom.org/libgnt/libgnt/](https://keep.imfreedom.org/libgnt/libgnt/)
+: The toolkit library used in Finch.
+
+[https://keep.imfreedom.org/pidgin/pidgin/](https://keep.imfreedom.org/pidgin/pidgin/)
+: The main Pidgin repository that contains LibPurple, Pidgin, and Finch.
+
+[https://keep.imfreedom.org/talkatu/talkatu/](https://keep.imfreedom.org/talkatu/talkatu/)
+: The conversation widgets used in Pidgin 3.
+
+You can see an example clone of Talkatu below but all of the repositories will
+output a similar result.
+
+```sh
+$ hg clone https://keep.imfreedom.org/talkatu/talkatu
+destination directory: talkatu
+requesting all changes
+adding changesets
+adding manifests
+adding file changes
+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 Pidgin development and are not contributing, chances
+are you are 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
+`hg update`.
+
+Below is an example of updating Talkatu when it's already up to date.
+
+```sh
+$ hg pull --update
+pulling from https://keep.imfreedom.org/talkatu/talkatu
+searching for changes
+no changes found
+```
+
+At this point you can review the code, build it, patch it, etc.