On Wed, Dec 15, 2010 at 2:33 PM, Joerg Sonnenberger <[email protected]
> wrote:

>
> Having incomplete changes in the tree is bad for things like bisect.
>

This was the most compelling argument in favor of "stash" that I found.  And
so I have now implemented a "stash" command for Fossil.   It works pretty
much like stash in git, but with some differences:  (1) stash pop, stash
apply, and stash drop are all undoable using "fossil undo".  (2) The "stash
goto" command first updates to the same version that the stash was
originally created in and then applies the stash.  (3) There are "stash
diff" and "stash gdiff" commands.

Please test the stash and let me know about the problems you find.

Because of the automated self-checking in Fossil (
http://www.fossil-scm.org/fossil/doc/trunk/www/selfcheck.wiki) the latest
Fossil code should be perfectly safe to use without risk of loss to your
committed versions.  But until we do some more testing, you will do well to
be wary of the stash.  It seems to work for me, but I have not yet stressed
it.

Once I get a bunch of you, gentle readers, to come back and say "I tried the
stash and it is working great for me - no bugs!" then I'll push up a new set
of precompiled binaries.

----------------------------------------------------------------------------------

 fossil stash
 fossil stash save ?-m COMMENT? ?FILES...?

    Save the current changes in the working tree as a new stash.
    Then revert the changes back to the last check-in.  If FILES
    are listed, then only stash and revert the named files.  The
    "save" verb can be omitted if and only if there are no other
    arguments.

 fossil stash list

    List all changes sets currently stashed.

 fossil stash pop

    Apply the most recently create stash to the current working
    check-out.  Then delete that stash.  This is equivalent to
    doing an "apply" and a "drop" against the most recent stash.
    This command is undoable.

 fossil stash apply ?STASHID?

    Apply the identified stash to the current working check-out.
    If no STASHID is specifed, use the most recent stash.  Unlike
    the "pop" command, the stash is retained so that it can be used
    again.  This command is undoable.

 fossil stash goto ?STASHID?

    Update to the baseline checkout for STASHID then apply the
    changes of STASHID.  Keep STASHID so that it can be reused
    This command is undoable.

 fossil drop ?STASHID?

    Forget everything about STASHID.  This command is undoable.

 fossil stash snapshot ?-m COMMENT? ?FILES...?

    Save the current changes in the working tress as a new stash
    but, unlike "save", do not revert those changes.

 fossil stash diff ?STASHID?
 fossil stash gdiff ?STASHID?

    Show diffs of the current working directory and what that
    directory would be if STASHID were applied.



-- 
D. Richard Hipp
[email protected]
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to