git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[StGit PATCH 00/10] Infrastructure rewrite series

From
Karl Hasselström <kha@treskal.com>
Date
Nov 25, 2007, 20:50 UTC
Message-ID
<20071125203717.7823.70046.stgit@yoghurt>

I've expanded on the infrastructure rewrite series. As of now, clean, applied, unapplied, goto, uncommit, and the new command coalesce have been converted.

The main new development is support for index and worktree operations, so that it can do conflicting merges. This made it possible to convert "stg goto", but the main practical attraction is the vastly improved "stg coalesce", which can now take an arbitrary list of patches and reorder them so that they can be joined to one big patch. It will do so entirely automatically if the merges resolve automatically, and if they don't it will pretend to have done a series of pops, pushes, and deletes, and leave the user to manually resolve the first conflicting push.

The implementation of coalesce -- particularly the ability to fail gracefully on conflicts at any intermediate step -- is helped a lot by some new cool transaction stuff.

Available from
  git://repo.or.cz/stgit/kha.git experimental
---
Karl Hasselström (10):
      Convert "stg uncommit" to the new infrastructure
      Let "stg goto" use the new infrastructure
      Let "stg clean" use the new transaction primitives
      Teach the new infrastructure about the index and worktree
      Let "stg applied" and "stg unapplied" use the new infrastructure
      Add "stg coalesce"
      Let "stg clean" use the new infrastructure
      Upgrade older stacks to newest version
      Write metadata files used by the old infrastructure
      New StGit core infrastructure: repository operations
 contrib/stgit-completion.bash |    2 
 setup.py                      |    2 
 stgit/commands/applied.py     |   27 +--
 stgit/commands/clean.py       |   49 ++---
 stgit/commands/coalesce.py    |  109 ++++++++++++
 stgit/commands/common.py      |   10 +
 stgit/commands/goto.py        |   52 ++----
 stgit/commands/unapplied.py   |   23 +-
 stgit/commands/uncommit.py    |   79 ++++----
 stgit/lib/__init__.py         |   18 ++
 stgit/lib/git.py              |  383 +++++++++++++++++++++++++++++++++++++++++
 stgit/lib/stack.py            |  168 ++++++++++++++++++
 stgit/lib/stackupgrade.py     |   96 ++++++++++
 stgit/lib/transaction.py      |  194 +++++++++++++++++++++
 stgit/main.py                 |    2 
 stgit/stack.py                |  100 +----------
 stgit/utils.py                |   24 +++
 t/t2600-coalesce.sh           |   31 +++
 18 files changed, 1136 insertions(+), 233 deletions(-)
 create mode 100644 stgit/commands/coalesce.py
 create mode 100644 stgit/lib/__init__.py
 create mode 100644 stgit/lib/git.py
 create mode 100644 stgit/lib/stack.py
 create mode 100644 stgit/lib/stackupgrade.py
 create mode 100644 stgit/lib/transaction.py
 create mode 100755 t/t2600-coalesce.sh
-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle
Next: Karl Hasselström
Message 1 of 14 in “Infrastructure rewrite series”
  1. 00/10 Infrastructure rewrite seriesKarl Hasselström, Nov 25, 2007
  2. 01/10 New StGit core infrastructure: repository operationsKarl Hasselström, Nov 25, 2007
  3. 02/10 Write metadata files used by the old infrastructureKarl Hasselström, Nov 25, 2007
  4. 03/10 Upgrade older stacks to newest versionKarl Hasselström, Nov 25, 2007
  5. 04/10 Let "stg clean" use the new infrastructureKarl Hasselström, Nov 25, 2007
  6. 05/10 Add "stg coalesce"Karl Hasselström, Nov 25, 2007
  7. 06/10 Let "stg applied" and "stg unapplied" use the new infrastructureKarl Hasselström, Nov 25, 2007
  8. 07/10 Teach the new infrastructure about the index and worktreeKarl Hasselström, Nov 25, 2007
  9. Karl HasselströmNov 26, 2007
  10. David KågedalNov 26, 2007
  11. Karl HasselströmNov 26, 2007
  12. 08/10 Let "stg clean" use the new transaction primitivesKarl Hasselström, Nov 25, 2007
  13. 09/10 Let "stg goto" use the new infrastructureKarl Hasselström, Nov 25, 2007
  14. 10/10 Convert "stg uncommit" to the new infrastructureKarl Hasselström, Nov 25, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.