The patch stack log / stg reset series has matured over the weekend.
The major highlights are
1. When a command fails to push a patch due to conflicts, it will
log two entries -- one for the part of the command that
succeeded, and one just for the conflicting push. This makes it
possible to undo just the last part, and not the whole command.
2. I've tightened the checks so that conflicts will prevent most
commands from working unless they actively claim to make sense in
the face of conflicts. Basically, only commands that don't touch
the topmost patch should be able to run when there are conflicts.
3. stg reset now understands --hard, which makes it zonk any local
changes, including conflicts.
(1) and (3) means that
$ stg reset --hard <branchname>.stgit^~1
can be used instead of stg push --undo when you want to undo a
conflicting push. Now I just have to make that available as
$ stg undo
so that it actually becomes usable ...
These patches are available at
git://repo.or.cz/stgit/kha.git experimental
---
Karl Hasselström (10):
Don't write a log entry if there were no changes
Add a --hard flag to stg reset
Log conflicts separately for all commands
Log conflicts separately
New command: stg reset
Add utility function for reordering patches
Write to a stack log when stack is modified
Library functions for tree and blob manipulation
Add property with a list of all patch names
Prevent most commands from running when there are conflicts
stgit/commands/branch.py | 20 ++++-
stgit/commands/clean.py | 3 +
stgit/commands/coalesce.py | 6 +-
stgit/commands/commit.py | 13 ++--
stgit/commands/common.py | 8 ++
stgit/commands/delete.py | 14 +++-
stgit/commands/diff.py | 2 -
stgit/commands/edit.py | 3 +
stgit/commands/export.py | 2 -
stgit/commands/files.py | 2 -
stgit/commands/id.py | 2 -
stgit/commands/log.py | 2 -
stgit/commands/mail.py | 2 -
stgit/commands/patches.py | 2 -
stgit/commands/reset.py | 118 ++++++++++++++++++++++++++++++++
stgit/commands/series.py | 2 -
stgit/commands/show.py | 2 -
stgit/commands/status.py | 3 +
stgit/commands/top.py | 2 -
stgit/commands/uncommit.py | 5 +
stgit/lib/git.py | 143 +++++++++++++++++++++++++++++++++------
stgit/lib/log.py | 161 ++++++++++++++++++++++++++++++++++++++++++++
stgit/lib/stack.py | 8 ++
stgit/lib/transaction.py | 92 ++++++++++++++++++++-----
stgit/main.py | 4 +
t/t3100-reset.sh | 151 +++++++++++++++++++++++++++++++++++++++++
t/t3101-reset-hard.sh | 56 +++++++++++++++
27 files changed, 754 insertions(+), 74 deletions(-)
create mode 100644 stgit/commands/reset.py
create mode 100644 stgit/lib/log.py
create mode 100755 t/t3100-reset.sh
create mode 100755 t/t3101-reset-hard.sh
--
Karl Hasselström, kha@treskal.com
www.treskal.com/kalle
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
| Linus Torvalds | Linux 2.6.27-rc8 |
| Ingo Molnar | [patch] scsi: revert "[SCSI] Get rid of scsi_cmnd->done" |
| Jan Engelhardt | [PATCH] Cute feature: colored printk output |
| Rafael J. Wysocki | Re: Suspend to RAM regression in 2.6.28-rc2 (bisected) |
git: | |
| David Kastrup | Empty directories... |
| Pavel Roskin | Implementing branch attributes in git config |
| Pierre Habouzit | [RFC] git integrated bugtracking |
| Peter Stahlir | Re: Git as a filesystem |
| Christian Weisgerber | Re: libiconv problem |
| Douglas A. Tutty | low-MHz server |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| J.W. Zondag | Dell PE1950 III - Perc 6i |
| Karlin Dodd | VL-bus questions |
| Greg Hilton | PS2mouse supported with X386 |
| Joern Rennecke | Use shadow ram? |
| Jim Winstead Jr. | Re: Root Disk/Book Disk Compatibility |
