[StGit PATCH 00/10] Infrastructure rewrite series

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx
      www.treskal.com/kalle
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux