chiark / gitweb /
README: TODO tg tidy -> tg collapse
[topgit.git] / README
diff --git a/README b/README
index 79eb99dff7f1cf429c30cdbf67b675c7a6d72653..be7be1bc0b865aae5e705875bf7699f9b02a0d5c 100644 (file)
--- a/README
+++ b/README
@@ -15,28 +15,28 @@ branch for each patch and providing few tools to maintain the branches.
 RATIONALE
 ---------
 
 RATIONALE
 ---------
 
-Why not use something like StGIT or Guilt or rebase -i for that?
-The advantage of these tools is their simplicity; they work with patch
-_series_ and defer to the reflog facility for version control of patches
-(reordering of patches is not version-controlled at all). But there are
-several disadvantages - for one, these tools (especially StGIT) do not
-actually fit well with plain Git at all - it is basically impossible
-to take advantage of index efectively when using StGIT. But more
-importantly, these tools horribly fail in the face of distributed
-environment.
-
-TopGit has been designed around three main tenents:
+Why not use something like StGIT or Guilt or rebase -i for maintaining
+your patch queue?  The advantage of these tools is their simplicity;
+they work with patch _series_ and defer to the reflog facility for
+version control of patches (reordering of patches is not
+version-controlled at all). But there are several disadvantages -
+for one, these tools (especially StGIT) do not actually fit well
+with plain Git at all: it is basically impossible to take advantage
+of the index efectively when using StGIT. But more importantly,
+these tools horribly fail in the face of distributed environment.
+
+TopGit has been designed around three main tenets:
 
        (i) TopGit is as thin layer on top of Git as possible.
 You still maintain your index and commit using Git, TopGit will
 only automate few indispensable tasks.
 
        (ii) TopGit is anxious about _keeping_ your history. It will
 
        (i) TopGit is as thin layer on top of Git as possible.
 You still maintain your index and commit using Git, TopGit will
 only automate few indispensable tasks.
 
        (ii) TopGit is anxious about _keeping_ your history. It will
-never rewrite your history and all metadata are also tracked by Git,
-smoothly and non-obnoxiously. It is useful if there is a _single_
-point when the history is cleaned up, and that is at the point of
-inclusion in the upstream project; locally, you can see how your
-patch has evolved and easily return to older versions.
+never rewrite your history and all metadata is also tracked by Git,
+smoothly and non-obnoxiously. It is good to have a _single_ point
+when the history is cleaned up, and that is at the point of inclusion
+in the upstream project; locally, you can see how your patch has evolved
+and easily return to older versions.
 
        (iii) TopGit is specifically designed to work in distributed
 environment. You can have several instances of TopGit-aware repositories
 
        (iii) TopGit is specifically designed to work in distributed
 environment. You can have several instances of TopGit-aware repositories
@@ -63,9 +63,8 @@ Of course, TopGit is perhaps not the right tool for you:
 simpler, conceptually.  If you just want to make a linear purely-local
 patch queue, deferring to StGIT instead might make more sense.
 
 simpler, conceptually.  If you just want to make a linear purely-local
 patch queue, deferring to StGIT instead might make more sense.
 
-       (ii) While keeping your history anxiously, in some extreme
-cases the TopGit-generated history graph will perhaps be a little
-too complex. ;-)
+       (ii) When using TopGit, your history can get a little hairy
+over time, especially with all the merges rippling through. ;-)
 
 
 SYNOPSIS
 
 
 SYNOPSIS
@@ -111,8 +110,8 @@ SYNOPSIS
        tg: you will want to switch to a different branch.
        $ ..resolve..
        $ git commit
        tg: you will want to switch to a different branch.
        $ ..resolve..
        $ git commit
+       $ tg create
        tg: Resuming t/whatever setup...
        tg: Resuming t/whatever setup...
-       $ tg create t/whatever
        $ ..hack..
        $ git commit
 
        $ ..hack..
        $ git commit
 
@@ -257,8 +256,12 @@ tg summary
        Show overview of all TopGit-tracked topic branches and their
        up-to-date status ('0' marks that it introduces no own changes,
        'D' marks that it is out-of-date wrt. its dependencies,
        Show overview of all TopGit-tracked topic branches and their
        up-to-date status ('0' marks that it introduces no own changes,
        'D' marks that it is out-of-date wrt. its dependencies,
+       '!' marks that it has missing dependencies (even recursively),
        'B' marks that it is out-of-date wrt. its base).
 
        'B' marks that it is out-of-date wrt. its base).
 
+       TODO: Speed up by an order of magnitude
+       TODO: Graph view
+
 tg update
 ~~~~~~~~~
        Update the current topic branch wrt. changes in the branches
 tg update
 ~~~~~~~~~
        Update the current topic branch wrt. changes in the branches
@@ -274,6 +277,9 @@ tg update
 
 TODO: Some infrastructure for sharing topic branches between
        repositories easily
 
 TODO: Some infrastructure for sharing topic branches between
        repositories easily
+TODO: tg depend for adding/removing dependencies smoothly
+TODO: tg collapse for creating a one-commit-per-patch tidied up
+       history (for pulling by upstream)
 
 
 IMPLEMENTATION
 
 
 IMPLEMENTATION