What's a workflow?

This might be a little confusing. We coined this term for ourselves before we realized that bazaar had their own workflows. Ours are different. A workflow in amp parlance is a set of commands that go together. Amp currently has a Mercurial workflow: a set of commands that mimics Mercurial's command interface. There is a 1-1 mapping between (most of) Mercurial's commands and the commands in the hg workflow. We're still working on matching them exactly, but we're close.

When does this get interesting?

It gets interesting because we're working on a git workflow. So, if you cut your teeth on git but are working on a project using Mercurial, we're going to let you use git's commands. Think about it - almost all of the basic operations in git have a similar command in Mercurial. The difference are in basic command syntax ( git push origin master vs hg push ) and in the options.

Why do options matter?

The allowed options matter because they're what we get used to in our command-line software, and there often is not analogous options between VCS clients. Git has git commit --reuse-message=123, but there's no such option in Mercurial. That's just one point. When you use the same software for long, you develop sets of options you get used to. Switch to a project with a different VCS, and your favorite options aren't there. Annoying. Think of workflows as theming your VCS.

How do I change my workflow?

amp workflow git. Or amp workflow hg.

Git != Mercurial

The fact remains that the different VCS systems have different commands, in part, because the underlying repositories are different. Git allows for destructive operations in it's repository and exposes that in in some of its options and commands. Mercurial doesn't allow it. So what happens when you do a git filter-branch on a Mercurial repository?

It will fail, and tell you that you requested an impossible action. Rely on that.

The git workflow sucks.

We know. We're working on it. But writing commands is actually pretty easy - do you want to help us out?