Overview
Path Guessing eliminates the hassle of either adding a bunch of paths to your hgrc file or copying URLs back and forth all day long. The incoming, outgoing, pull, and push Mercurial commands are supported for this extension.
This article provides detailed information about how Path Guessing simplifies your interaction with Kiln each time you perform a different activity on it along with an example scenario.
Information
- After you install the Kiln Client, which includes the
kilnextension, you see the following section added to your Mercurial.ini file:
[kiln_scheme] kiln=http://<yourdomain>.kilnhg.com/Repo
- Path Guessing uses these entries to determine the location of your Kiln account.
- If you use multiple Kiln installs, Path Guessing will support guessing to different installs as long as they are all specified here.
- After cloning a repository, the only path available (the default path) is the repository that was cloned off, in this case, a personal
abcbranch of a project:
PS C:\demo> hg paths
default = https://songexe.kilnhg.com/Repo/Website/2-0/abc
- For example, some changes are made, and you want to push them out to a branch. If that is your default branch, you can type
hg out:
PS C:\demo> hg out
comparing with https://songexe.kilnhg.com/Repo/Website/2-0/abc
searching for changes
changeset: 29:6951f1d98d7b
tag: tip
user: Abc Xyz <abc@fogcreek.com>
date: Thu Aug 19 14:00:59 2010 -0400
summary: Added newfile.txt to the repository
- For example, some changes are made, and you want to push them out to a branch. If that is your default branch, you can type
- If you type
hg pushnow, it gets pushed out to the default branch:
PS C:\demo> hg push
pushing to https://songexe.kilnhg.com/Repo/Website/2-0/abc
searching for changes
remote: kiln: successfully pushed one changeset
- Now let us see how you can push this change to the parent repository. Previously, you would have to go into Kiln and manually grab the URL for the parent.
- By using the command
hg kiln --targetsorhg kiln -tfor short, you can see a list of all non-empty repositories related to this in Kiln:
PS C:\demo> hg kiln -t
- The following Kiln targets are available for this repository:
http://songexe.kilnhg.com/Repo/Website/1-0/OldWebsitehttp://songexe.kilnhg.com/Repo/Website/2-0/Parenthttp://songexe.kilnhg.com/Repo/Website/2-0/abchttp://songexe.kilnhg.com/Repo/Website/2-0/xyzhttp://songexe.kilnhg.com/Repo/Website/2-0/xxxx
- Now, all you need to do is completely and uniquely specify any URL part:
PS C:\demo> hg push Parent
pushing to https://songexe.kilnhg.com/Repo/Website/2-0/Parent
searching for changes
remote: kiln: successfully pushed one changeset
- By using the command
- Since
Parentwas a unique part of the URL slug, Path Guessing knew exactly which repository was meant and pushed to it without forcing you to fumble around with URLs.
- If you had to type
hg push 2-0instead, since this does not uniquely match any part of the URL, Path Guessing just displays a list of all matching targets:
PS C:\demo> hg push 2-0
abort: 2-0 matches more than one Kiln repository:
http://songexe.kilnhg.com/Repo/Website/2-0/Parent
http://songexe.kilnhg.com/Repo/Website/2-0/abc
http://songexe.kilnhg.com/Repo/Website/2-0/xyz
http://songexe.kilnhg.com/Repo/Website/2-0/xxxx
Summary
Thus, Path Guessing improves your interaction with Kiln by removing some inconveniences and streamlining your workflow.
Priyanka Bhotika
Comments