(share extension) Am I about to shoot myself in the foot?

Matt Mackall mpm at selenic.com
Tue Apr 15 20:42:36 UTC 2014


On Tue, 2014-04-15 at 15:05 -0400, Ti Strga wrote:
> I'm on recent cygwin on win7, using Mercurial 2.7.1.  I also have
> TortoiseHg installed, but only use it for the excellent DAG
> visualization (sometimes graphlog doesn't cut it) and access to kdiff3
> during complicated merges.  For minute-to-minute work I prefer the
> standard command line because I like to know wtf's going on.
> 
> [skip this paragraph if you don't want the backstory]  I also prefer
> different long-term lines of development to be in different directory
> trees.  I'm old school.  I know that with the Tortoise* tools it's all
> the rage to have a single filesystem location, and change things with
> the equivalent of "svn switch" or "hg update <branch>" or similar, but
> those kids can get off mah lawn.  Among other things, separate
> directories lets me use filesystem tools like locate, find, and "grep
> -r" across branches and even across VCS types without having to
> translate them to each VCS' own search tool.
> 
> So for named branches, I end up cloning entire trees, then updating to
> the branch in the clone.  Separate branch == separate repo == separate
> directory.  Works great... except when it's time to copy changesets
> around, and then it's a ton of pushing, pulling, merging.  There's
> also a potential source of oopses when "working in branch X" and
> "working in directory X" don't mean the same thing.
> 
> Just discovered the "share" extension.  This *looks* like exactly what
> I want:  different working directory states, but only one DAG.  I
> don't use strip, rebase, or any of the other "revisionist history"
> commands (sorry, couldn't resist).  Tagging and branching should be
> okay... what about bookmarking?  What happens if I am in a "shared
> clone" and push to an offsite repo?  What happens if I want to do a
> regular clone operation from a shared repo, is that even supported?

I use share to manage the default and stable branches of Mercurial. What
works:

- mq (provided you're using different branches)
- strip (provided you're using different branches)
- evolve

Bookmarks are not shared across shares (they are outside of history and
share only shares history).

> Part of me wants to jump in boldly and just start experimenting,
> trusting to the backups if things go wrong.  Other part of me knows
> how troublesome it was to restore from backups the last time.  (That
> smoking crater with the yellow police tape around it?  That was my one
> experiment with git.)  It seems to work fine on a "hello world" repo,
> but "hello world" hasn't inspired me with confidence since last
> century.
> 
> Is this the intended use case or am I about to have a painfully
> educational experience?
> _______________________________________________
> Mercurial mailing list
> Mercurial at selenic.com
> http://selenic.com/mailman/listinfo/mercurial

-- 
Mathematics is the supreme nostalgia of our time.





More information about the Mercurial mailing list