X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=blobdiff_plain;f=README;h=2cfad59048bece61b5d9de37b127d0414d562ba1;hp=6d8253a2f6789505d60385a88d7997f25997b2a1;hb=68e9b515bb249160d11fc55861ef521d078fa5e9;hpb=2140880ff7d57563d057d744985027575260c0b8 diff --git a/README b/README index 6d8253a..2cfad59 100644 --- 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, @@ -362,6 +395,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 +406,19 @@ 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). + tg update ~~~~~~~~~ Update the current topic branch wrt. changes in the branches @@ -395,8 +440,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 +478,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