On 02/06/2013 20:44, Marc Weber wrote:
How to continue?
Submit ideas here:
http://vim-wiki.mawercer.de/wiki/vim74/devs-workflows.html
Some comments on your notes:
o git staging area.
Yep, there is no equivalent to that in mercurial, but recent versions of
mercurial have `hg commit --amend` that provides similar functionality -
it picks up subsequent changes and rolling them into the working
directory's parent changeset.
o remotes and tracking anonymous branches
The equivalent to remotes would be to add new path aliases to the repo's
.hgrc file under [paths]. See `hg help paths` for more details on that.
The simplest approach to track new heads introduced by remotes is to add
a bookmark to the new tip head after the pull. See `hg help bookmark`
for more details. There is also a nice introduction to them here -
http://mercurial.aragost.com/kick-start/en/bookmarks/ Bookmarks are to
mercurial as branches are to git, mercurial named branches are something
else and you don't want to use them for patch development.
o github pull requests just work.
As they do with mercurial repos in bitbucket or kiln. The workflow is
more a function of the supporting ecosystem than because it is using
git. And the reverse holds, using git does not require you to do the
clone, update, push, pull request dance.
o patches by email
The advantage of patches being provided by email is that list members
can review them before loading them into their local repo first.
Patches can be easily imported into a repo. If the patch is not an
output from `hg diff` (which identifies the parent changeset) then you
can use the patch queue extension to quickly try it out and remove it
again without littering your repo with incomplete work.
And like git you can get mercurial to generate patch emails from a line
of changesets off the mainline of development, as some have started to do.
o centralised distribution
Using any dvcs (git, mercurial, bzr, fossil, etc.) usually requires one
repo to be deemed the master. There may be a few mirrors, or ones with
known good mainline development heads that can be fallen back on. The
fact that anyone uses mercurial for development work on vim means they
are using the d in dvcs. They are creating local branches and merging
their local head back into default to pick up latest applied patches and
so on. That is the definition of DVCS.
Whether changesets are communicated as pulls, bundles, or generated
diffs, they are all ways of updating other distributed repos easily.
There is nothing to stop anyone to get their clone hosted somewhere and
send links around - you don't even have to pull into your local repo to
see the changes, `hg incoming --patch` will generate a diff you can
review first.
There is nothing stopping a group of developers working on area by
themselves with their own repos, and then when they have got what they
believe is a good improvement submitting one or more patches. If would
be up to them to handle and collapsing or rebasing as required to get it
accepted by Bram. This is an early step towards possibly having a
trusted lieutenants workflow ;-)
mercurial lovers speak up and tell why you'd prefer keep using
mercurial for exchanging patches. (I'm not talking about changing the
official repository. I'm only talking about preparing patches)
I'd like to document whatever the result will be in about 2 weeks and
make it official if nobody objects.
This will not be a "you must follow this" - it will just be a
recommendation which we document officially.
Marc Weber
Mike
--
I have got to stop bouncing those reality checks.
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.