Finally, I found a solution to satisfy my needs. I started a repository
with multiple independent branches. I do checkout the branches as
subdirectories below the trunk checkout with nested checkout. It is a bit
more effort to set things up, but simple scripts can help for that.

Adding branches goes relatively straight with:
branch-add-nested.sh:
-------------------------------
#!/usr/bin/env bash
repo=$(fossil info | grep repository | awk 'BEGIN{FS=" "} {print $2}')
mkdir -p "$1"
pushd "$1"
fossil open --empty --nested "$repo" "$1"
fossil commit --branch "$1" --allow-empty -m "initial empty check-in"
popd
------------------------------

Checking out from closed repository with a bash-for loop is rather simple
as well:

ckout-nested.sh
-----------------------------
#!/usr/bin/env bash
repo=$(fossil info | grep repository | awk 'BEGIN{FS=" "} {print $2}')

if [ ! -e .fslckout ]; then
    echo "Not in a fossil checkout" 1>&2; exit 1;
fi

for b in `fossil branch ls| grep -v trunk`; do {
    mkdir -p "$b"
    cd "$b"
    fossil open --nested "$repo" "$b"
    cd ..
    }
done;
--------------------------------

Maybe I will take some time to enhance the web-frontend a bit to keep
things separated there, but for the first, this will do for me.


Warren Young <w...@etr-usa.com> schrieb am Do., 17. Sep. 2015 um 20:06 Uhr:

> On Sep 16, 2015, at 10:02 PM, David Mason <dma...@ryerson.ca> wrote:
> >
> > On 16 September 2015 at 21:56, Steve Stefanovich <s...@stef.rs> wrote:
> > ‎Isn't the main annoyance the need to commit two times, one in nested
> checkout and one in the 'root' repo, and to try to keep timeline order in
> both?
> >
> > How do you guys manage that - prevent committing/cloning to root and
> always use sub-repos?
> >
> > There's only one commit, in the sub-repo, unless I change something in
> the root repo, but that's pretty rare for me.
>
> My use of nested repos is similar: the nested one is rarely-modified, so
> the problem doesn’t affect me.
>
> From my reading of the Git book section previously linked, it looks like
> this is a mostly manual operation in Git, too, though it has optional flags
> that can make it do nested commits and such.
>
> I can see cases where you might *want* it to be manual, as when the
> submodule is an external dependency, and you want to “pin” your project to
> a particular version.
>
> But in other cases, it would be nice if a commit or update at the root did
> the same for all submodules, recursively, every time.  It would be
> analogous to the current autosync setting: sometimes you want it, sometimes
> you don’t.
> _______________________________________________
> fossil-users mailing list
> fossil-users@lists.fossil-scm.org
> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
>
_______________________________________________
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