[GUILT PATCH 0/4] Add guards to guilt
- From
- Eric Lesh <eclesh@ucla.edu>
- Date
- Jul 29, 2007, 07:50 UTC
- Message-ID
- <118569541814-git-send-email-eclesh@ucla.edu>
This series adds Mercurial Queues-like guards to guilt. It allows you to assign guards to related patches in the series file to selectively push patches.
See Chapter 13 of the HG Book for more info. (http://hgbook.red-bean.com/hgbookch13.html)
Guards are appended as "#+foo" or "#-foo" to the end of the patch name in the series file, so they are compatible with quilt. The guard setting and unsetting functions also respect comments on the patch line, so they aren't mangled when you use guards.
This introduces the command `get_guarded_series`, which just lists
patches that are to be applied based on the guards. It also makes
eidx=`wc -l < $applied`
inaccurate if you're using it as an index into get_series.If you change guards on a patch or select a different guard while patches are applied, some commands might get confused. guilt pop -a will fix everything though. Usually, it's best to pop -a before fiddling with guards anyway.
This is an RFC, but I have tested it and things seem to be working well.
[PATCH 1/4] get_series: Remove comments from end of series lines
This just strips everything but the patch name from get_series,
to hide comments or guards on the line.[PATCH 2/4] guilt-guard: Assign guards to patches in series
This adds the guilt-guard command and utility functions to
guilt.[PATCH 3/4] guilt-select: Select guards to apply when pushing patches
This puts selected guards in .git/patch/$branch/guards, and
adds a $guards_file variable to guilt.[PATCH 4/4] Use guards information and functions
This changes guilt-header, guilt-next, guilt-push and guilt-unapplied to
use the guards information properly. After the guilt-push change, header, next, and unapplied get
confused and break, so I rolled their fixes into this patch
instead of separate ones.Documentation/guilt-guards.txt | 40 +++++++++++++++++++++++++ Documentation/guilt-select.txt | 42 ++++++++++++++++++++++++++ guilt | 62 ++++++++++++++++++++++++++++++++++++++- guilt-guards | 63 ++++++++++++++++++++++++++++++++++++++++ guilt-header | 7 ++-- guilt-next | 2 +- guilt-push | 8 ++-- guilt-select | 36 +++++++++++++++++++++++ guilt-unapplied | 2 +- 9 files changed, 252 insertions(+), 10 deletions(-) create mode 100644 Documentation/guilt-guards.txt create mode 100644 Documentation/guilt-select.txt create mode 100755 guilt-guards create mode 100755 guilt-select