chiark / gitweb /
Add "tg base" that prints the base version.
[topgit.git] / README
diff --git a/README b/README
index 7c6a70fe1fccbcbf1106abeceae7817f89f9ef0b..f103d925bce4d32ed8c342785f9ac9149570d73a 100644 (file)
--- a/README
+++ b/README
@@ -244,6 +244,10 @@ tg delete
        only empty branch (base == head); use '-f' to remove
        non-empty branch.
 
        only empty branch (base == head); use '-f' to remove
        non-empty branch.
 
+       The '-f' option is also useful to force removal of a branch's base, if
+       you used 'git branch -D B' to remove the branch B, and then certain
+       TopGit commands complain, because the base of branch B is still there.
+
        Currently, this command will _NOT_ remove the branch from
        the dependency list in other branches. You need to take
        care of this _manually_. This is even more complicated
        Currently, this command will _NOT_ remove the branch from
        the dependency list in other branches. You need to take
        care of this _manually_. This is even more complicated
@@ -284,8 +288,9 @@ tg patch
        tg patch will be able to automatically send the patches by mail
        or save them to files. (TODO)
 
        tg patch will be able to automatically send the patches by mail
        or save them to files. (TODO)
 
-       TODO: tg patch -i to base at index instead of branch,
-               -w for working tree
+       Options:
+         -i            base patch generation on index instead of branch
+         -w            base patch generation on working tree instead of branch
 
 tg mail
 ~~~~~~~
 
 tg mail
 ~~~~~~~
@@ -303,6 +308,13 @@ tg mail
        The '-r' parameter with msgid can be used to generate in-reply-to
        and reference headers to an earlier mail.
 
        The '-r' parameter with msgid can be used to generate in-reply-to
        and reference headers to an earlier mail.
 
+       Note: be careful when using this command.  It easily sends out several
+       mails.  You might want to run
+
+               git config sendemail.confirm always
+
+       to let `git send-email` ask for confirmation before sending any mail.
+
        TODO: 'tg mail patchfile' to mail an already exported patch
        TODO: mailing patch series
        TODO: specifying additional options and addresses on command
        TODO: 'tg mail patchfile' to mail an already exported patch
        TODO: mailing patch series
        TODO: specifying additional options and addresses on command
@@ -339,6 +351,17 @@ tg summary
        pass '--graphviz' to get a dot-suitable output to draw a dependency
        graph between the topic branches.
 
        pass '--graphviz' to get a dot-suitable output to draw a dependency
        graph between the topic branches.
 
+       You can also use the --sort option to sort the branches using
+       a topological sort.  This is especially useful if each
+       TopGit-tracked topic branch depends on a single parent branch,
+       since it will then print the branches in the dependency
+       order.  In more complex scenarios, a text graph view would be
+       much more useful, but that is not yet implemented.
+
+       The --deps option outputs dependency informations between
+       branches in a machine-readable format.  Feed this to "tsort"
+       to get the output from --sort.
+
        TODO: Speed up by an order of magnitude
        TODO: Text graph view
 
        TODO: Speed up by an order of magnitude
        TODO: Text graph view
 
@@ -479,6 +502,27 @@ tg update
 
        TODO: tg update -a for updating all topic branches
 
 
        TODO: tg update -a for updating all topic branches
 
+tg push
+~~~~~~~
+       pushes a TopGit-controlled topic branch to a remote
+       repository.  By default the remote gets all dependencies
+       (both tgish and non-tgish) and bases pushed to.
+
+tg base
+~~~~~~~
+       Prints the base commit of the current topic branch.  Silently
+       exits with exit code 1 if you are not working on a TopGit
+       branch.  The following command can be useful to get a summary
+       of the work you have made on a topic branch:
+
+               git log --first-parent --no-merges `tg base`..
+
+       (Note: if you have shared the TopGit branch, the above command
+       only lists the commits that were made in the current
+       repository, so you will not see work done by your
+       collaborators.)
+
+
 TODO: tg rename
 
 
 TODO: tg rename