[darcs-users] Darcs equivalent of force-pushing and branching
James Cook
falsifian at falsifian.org
Mon Sep 13 20:17:56 UTC 2021
On Fri, Sep 10, 2021 at 08:19:29PM +0900, Stephen J. Turnbull wrote:
> James Cook writes:
>
> > For short-lived branches, I just use one clone per branch. I think this
> > should work well for long-lived branches too, but I haven't tried.
>
> What's nice about the git storage model is that you can have a
> "warehouse" repository with dozens of more or less active branches in
> it, and two or three workspaces (which can even share the commit and
> content storage of the warehouse, and the warehouse may not even have
> a workspace). I've never wanted more than 3 workspaces, but when
> doing release management stuff I've sometimes had as many as 10 active
> branches I'm worried about in one session.
>
> git's storage model makes these workflows fast. Also, in the release
> manager workflow, I often didn't need file content as such, I needed
> diffs and merges, and the storage model makes it possible to diff and
> merge across branches without a checkout (of course for merges the
> target branch was always checked out, but in theory it didn't need to
> be!)
I've used git with multiple working directories, and it is nice.
darcs uses hard links to save space, so having multiple clones should
be relatively cheap.
I only make light use of branches / work dirs / extra clones, but so
far I have no complaints about using Darcs and just having one clone
per workdir or branch. I don't know a nice command for diffing
"branches" if the branches are Darcs repos, though. I guess I would use
"diff -r" and filter out anything under _darcs.
> All of this is obviously quite possible with Darcs. The problem is
> getting the "accounting" right when separating the management of
> *sets* of patches from the management of *histories*. IIRC, in Darcs
> the history is in the patches, which means a bit of tedious surgery on
> data structures needs to be done.
I'm not sure what you mean by "histories" as distinct from "sets of
patches". Shouldn't a branch just be a set of patches?
--
James
More information about the darcs-users
mailing list