On Aug 15, 2017, at 11:58 AM, Richard Hipp <d...@sqlite.org> wrote:
> 
> With git and hg, your repository and
> checkout are more closely bound and are strictly one-to-one.

Not “strictly.”

Git has the git-worktree command as of 2.5 which links the current checkout to 
a new working directory:

    https://git-scm.com/docs/git-worktree

Unfortunately, it’s got a number of problems, most stemming from the fact that 
the feature was grafted onto Git something like a decade after the repository 
format was designed:

0. It’s still considered an “experimental” feature, according to the docs.

1. Programs that expect to find a .git subdirectory with known contents get 
confused because .git is now a file that points to the other repository.

2. You can’t have the same branch in two worktrees on the same machine for some 
reason.

3. It doesn’t work with submodules.

4. Because it does its job by linking one tree to another using paths on disk, 
the links are easily broken with an mv or rm command, which then means you 
can’t check in changes from any of the worktrees.

Fossil checkouts are independent of each other.  Though they are dependent on 
the path to the .fossil file, I more rarely feel a need to move my ~/museum 
directory around than I feel a need to move checkout directories around.  The 
latter is safe with Fossil, but not with Git worktrees.

5. It’s a relatively new feature, being added to Git only about 2 years ago, so 
it’s not yet available in “stable” OSes like RHEL 7, Solaris 11, etc.  Thus, 
you can’t always count on having it everywhere you work.
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to