chiark / gitweb /
tg import -s: Import single commit using well-defined name
[topgit.git] / README
diff --git a/README b/README
index 6d8253a2f6789505d60385a88d7997f25997b2a1..8129f9190e68b3101cd234f94db5aac2170f2327 100644 (file)
--- a/README
+++ b/README
@@ -253,6 +253,19 @@ tg delete
 
        TODO: '-a' to delete all empty branches, depfix, revert
 
+tg depend
+~~~~~~~~~
+       Change dependencies of a TopGit-controlled topic branch.
+       This should have several subcommands, but only 'add' is
+       supported right now.
+
+       The 'add' subcommand takes an argument of a topic branch
+       to be added, adds it to '.topdeps', performs a commit and
+       then updates your topic branch accordingly. If you want to
+       do other things related to the dependency addition, like
+       adjusting '.topmsg', prepare them in the index before
+       calling 'tg depend add'.
+
 tg info
 ~~~~~~~
        Show a summary information about the current or specified
@@ -272,11 +285,31 @@ tg patch
        TODO: tg patch -i to base at index instead of branch,
                -w for working tree
 
+tg mail
+~~~~~~~
+       Send a patch from the current or specified topic branch as
+       email.
+
+       Takes the patch given on the command line and emails it out.
+       Destination addresses such as To, Cc and Bcc are taken from the
+       patch header.
+
+       Since it actually boils down to `git send-email` please refer to
+       its documentation for details on how to setup email for git.
+       You can pass arbitrary options to this command through the
+       '-s' parameter, but you must double-quote everything.
+
+       TODO: 'tg mail patchfile' to mail an already exported patch
+       TODO: mailing patch series
+       TODO: specifying additional options and addresses on command
+             line
+
 tg remote
 ~~~~~~~~~
        Register given remote as TopGit-controlled. This will create
        the namespace for the remote branch bases and teach 'git fetch'
-       and 'git push' to operate on them.
+       and 'git push' to operate on them. (Do NOT use 'git push --all'
+       for your pushes - plain 'git push' will do the right thing.)
 
        It takes a mandatory remote name argument, and optional
        '--populate' switch - use that for your origin-style remote,
@@ -296,6 +329,10 @@ tg summary
        '!' marks that it has missing dependencies (even recursively),
        'B' marks that it is out-of-date wrt. its base).
 
+       This can take long time to accurately determine all the relevant
+       information about each branch; you can pass '-t' to get just
+       terse list of topic branch names quickly.
+
        TODO: Speed up by an order of magnitude
        TODO: Graph view
 
@@ -362,6 +399,10 @@ tg export
        and an argument specifying the directory
        where the quilt series should be saved.
 
+       With '--quilt', you can also pass '-b' parameter followed by
+       a comma-separated explicit list of branches to export. This
+       mode of operation is currently not supported with collapse.
+
        Usage: tg export ([--collapse] BRANCH | --quilt DIR)
 
        TODO: Make stripping of non-essential headers configurable
@@ -369,11 +410,23 @@ tg export
        TODO: --mbox option for other mode of operation
        TODO: -n option to prevent exporting of empty patches
        TODO: -a option to export all branches
-       TODO: Allow branches to be exported to be passed as arguments, default
-             to the current branch if none are specified
        TODO: For quilt exporting, use a temporary branch and remove it when
              done - this would allow producing conflict-less series
 
+tg import
+~~~~~~~~~
+       Import commits within the given revision range into TopGit,
+       creating one topic branch per commit, the dependencies forming
+       a linear sequence starting on your current branch.
+
+       The branch names are auto-guessed from the commit messages
+       and prefixed by t/ by default; use '-p PREFIX' to specify
+       an alternative prefix (even an empty one).
+
+       Alternatively, you can use the '-s NAME' parameter to specify
+       the name of target branch; the command will then take one more
+       argument describing a single commit to import.
+
 tg update
 ~~~~~~~~~
        Update the current topic branch wrt. changes in the branches
@@ -395,8 +448,6 @@ tg update
 
        TODO: tg update -a for updating all topic branches
 
-TODO: Some infrastructure for sharing topic branches between
-       repositories easily
 TODO: tg depend for adding/removing dependencies smoothly
 TODO: tg rename
 
@@ -435,7 +486,10 @@ can be prefilled from various optional topgit.* config options.
        .topdeps: Contains the one-per-line list of branches
 your patch depends on, pre-seeded with `tg create`. (Continuously
 updated) merge of these branches will be the "base" of your topic
-branch.
+branch. DO NOT EDIT THIS FILE MANUALLY!!! If you do so, you need
+to know exactly what are you doing, since this file must stay in
+sync with the Git history information, otherwise very bad things
+will happen.
 
 TopGit also automagically installs a bunch of custom commit-related
 hooks that will verify if you are committing the .top* files in sane