* [ANNOUNCE] Stacked Git 0.15-rc1
@ 2009-07-12 22:40 Catalin Marinas
2009-07-13 8:28 ` Uwe Kleine-König
` (3 more replies)
0 siblings, 4 replies; 13+ messages in thread
From: Catalin Marinas @ 2009-07-12 22:40 UTC (permalink / raw)
To: Git Mailing List; +Cc: Karl Hasselström
The first release candidate for StGit 0.15 is available from the
git://repo.or.cz/stgit.git or http://download.gna.org/stgit/. Bugs can
be reported on the Git mailing list or via the project bugs page
(https://gna.org/bugs/?group=stgit).
StGit is a Python application providing similar functionality to Quilt
(i.e. pushing/popping patches to/from a stack) on top of Git. These
operations are performed using Git commands and the patches are stored
as Git commit objects, allowing easy merging of the StGit patches into
other repositories using standard Git functionality.
The main changes since release 0.14.3 (I may miss some important
features but they can be found in the log):
- New core infrastructure for repository operations
- Infinite undo/redo operations and corresponding commands
- Automatic reverting of changes following a failed operation (using
transactions)
- New 'squash' command for combining two or more patches into one
- New 'publish' command for maintaining merge-friendly branches (which
are not rebased)
- New patch identification format - <branch>:<patch> (see 'id' command)
- UI improvements and removal of the 'add', 'rm' and 'resolved' commands
since there are corresponding Git equivalents
- Emacs mode improvements
- Man pages and improved tutorial
Special thanks go to Karl Hasselström for the hard work done on the
new StGit features.
Acknowledgements:
Karl Hasselström (182):
Let parse_patch take a string instead of a file parameter
Make generic --message/--file/--save-template flags
Name the exit codes to improve legibility
Emacs mode: Show keybindings when user presses "h" or "?"
Emacs mode: Add an explanatory header
Emacs mode: Makefile for building stgit.el
Emacs mode: push/pop next patch, not patch at point
Emacs mode: Let "P" push or pop patch at point
Emacs mode: Bind "G" to "stg goto"
Emacs mode: show patches' short description
Write removed fields for backwards compatibility
Nicer conflict markers
Better error message if merge fails
Fix "stg resolved" to work with new conflict representation
Refactoring: pass more than one file to resolved()
We keep the different stages of a conflict in the index now
Remove "stg add"
Remove "stg rm"
Remove "stg cp"
New StGit core infrastructure: repository operations
Write metadata files used by the old infrastructure
Upgrade older stacks to newest version
Let "stg clean" use the new infrastructure
Add "stg coalesce"
Let "stg applied" and "stg unapplied" use the new infrastructure
Teach the new infrastructure about the index and worktree
Let "stg clean" use the new transaction primitives
Let "stg goto" use the new infrastructure
Convert "stg uncommit" to the new infrastructure
New infrastructure: Make sure that the branch is initialized
Expose transaction abort function
stg coalesce: Support --file and --save-template
Set exit code to 3 on merge conflict
Convert "stg commit" to new infrastructure
Make "stg commit" fancier
Test that "stg goto" can be called from a subdirectory
Make "stg goto" subdirectory safe
Don't keep old committer when rewriting a commit
Homogenize buffer names
Remove unused default values
Refactor --diff-opts handling
Create index and worktree objects just once
Wrap excessively long line
Eliminate temp variable that's used just once
Simplify editor selection logic
Let the caller supply the diff text to diffstat()
Don't clean away patches with conflicts
Don't check out files if we don't have index+workdir
Make documentation less confusing
Reduce number of backslashes by using raw strings
Let "stg show" use the unified --diff-opts handling
Read default diff options from the user's config
Teach new infrastructure about the default author and committer
Teach new infrastructure to apply patches
Teach new infrastructure to diff two trees
Parse the date instead of treating it as an opaque string
Convert "stg edit" to the new infrastructure
Emacs mode: It's possible to edit unapplied patches now
Remove unused data field
Emacs mode: change "stg repair" binding
Use a special exit code for bugs
Make sure patches with no parents have an empty list of parents
Try uncommitting a commit with not exactly one parent
Make sure that we only uncommit commits with exactly one parent
New test: conflicting push in dirty worktree
Handle failed pushes differently depending on cause
Merge branch 'stable' into stable-master-merge
Don't both change directory and set GIT_WORK_TREE
Log environment and cwd as well as the actual command
emacs mode: handle "stg status" output with #
If a patch is not changed when pushing, reuse the same commit object
Handle commandline parsing errors gracefully
Use hardcoded author and committer names in tests
Steal more test-lib.sh updates from git
Get rid of backticks in test-lib.sh
Use test_cmp instead of diff -u in the test suite
Remove "stg" from start of log messages
Import version to a separate namespace
Better StGit version tracking
Emacs mode: automatically cd up to root of worktree
Try the built-in version string before git-describe
Disable patchlog test for "stg new"
Convert "stg new" to the new infrastructure
Refactor --author/--committer options
Let "stg new" support more message options
Emacs mode: use "stg new --file"
Convert "stg delete" to the new infrastructure
Emacs mode: delete patches
Prevent most commands from running when there are conflicts
Add property with a list of all patch names
Merge branch 'stable' into stable-master-merge
Wrap the text of error messages
Some API documentation for the new infrastructure
Fix typo
Try "stg sink" without applied patches
Fix "stg sink" with no applied patches (bug 11887)
Merge branch 'stable' into stable-master-merge
Test "stg status" with renames
Don't allow extra diff options with "stg status"
Merge branch 'stable'
Test "stg status" with -M in stgit.diff-opts
Test for specific exit code
Test for "stg edit"
Test that we can add a new file to a non-topmost patch with refresh -p
Merge branch 'stable'
Test for exit code with command_error()
stg uncommit should never touch the branch head
Make sure that stg uncommit doesn't touch the branch head
Fix uncommit status message
Discard stderr output from git apply if the caller wants
Do simple in-index merge with diff+apply instead of read-tree
Reuse the same temp index in a transaction
Library functions for tree and blob manipulation
Teach stgit.lib.transaction about hidden patches
Test operations on hidden patches
stg goto: Handle hidden patches more gracefully
Add utility function for reordering patches
Add some performance testing scripts
Log subprocess activity to a file
Show full command in subprocess profiling
Log subprocess calls during performance testing
Global performance logging
Add some tests of refreshing removed files
Fix some remaining old-style stg id calls
Don't use the dashed for of git commands
Merge branch 'stable'
Remove unneeded import
Refactoring: move shared options to their own module
Auto-generate man pages for all StGit commands
asciidoc.conf: Steal updates from git
Generate command lists automatically
Write to a stack log when stack is modified
New command: stg reset
Log conflicts separately
Log conflicts separately for all commands
Add a --hard flag to stg reset
Don't write a log entry if there were no changes
Move stack reset function to a shared location
New command: stg undo
New command: stg redo
Log and undo external modifications
Test that stg coalesce handles head != top gracefully
Check for top == head at the start of every transaction
Make "stg log" show stack log instead of patch log
Convert "stg refresh" to the new infrastructure
New refresh tests
Remove --undo flags from stg commands and docs
Refactor stgit.commands.edit
Invoke the correct interactive editor
Implement "stg refresh --edit" again
Automatic bash completion
Untabify
Add myself to the AUTHORS file
Remove misleading "stg delete" documentation
Add a new flag, --spill, to stg delete
Test the new stg delete --spill flag
Fix typo
Merge branch 'stable'
Remove unused variable
Remove TODO items that have already been addressed
We're half-way there with the separate indexes
Add 1.0 TODO items from recent discussion by private mail
Refresh the main stg man page
Refresh and expand the tutorial (not finished)
Tutorial: Talk about conflicts when introducing StGit
Tutorial: Explain diffs a little bit better
Tutorial: Cover "stg mail"
Tutorial: Write about rebasing
Tutorial: Importing patches
stg series: Explain the list format better
stg files: Don't write just an empty line
Steal Documentation/SubmittingPatches from Git
SubmittingPatches: adapt to StGit
Return None instead of crashing on undefined integer config items
Merge branch 'stable'
Rename "stg coalesce" to "stg squash"
stg squash: Improve documentation
Documentation: Ignore generated .xml files
Documentation: Rename link macros
Newer gits return 128 when git config --{rename,remove}-section fails
Transaction.push_patch(): Set self.head only when we have a merge conflict
Pass "git config" flags in the right order
Catalin Marinas (98):
Re-add the interactive merge
Don't assume there is always a stage 2 in git.get_conflicts
Remove multiple stages returned by git.ls_files
Remove unused git functions like add, rm, copy
Remove a newline from the e-mail template
Don't set the default authdate if none specified
Allow pick to import multiple patches
Check for unnecessary push/pop in 'float'
Allow the synchronisation of the unapplied patches
Modify 'series' to use '#' instead of '|'
Set umask to 0022 during the setup.py execution
Refuse to send empty patches
Add a boundary to parse_patches in pick.py
Fix sync to push the popped patches back after sync'ing
Remove the reordering side-effect of the latter sync changes
Allow picking of one commit id
Merge branch 'stable'
Merge branch 'stable'
Merge branch 'stable'
Merge branch 'stable'
Refactor the Commitdata class to CommitData
Rewrite the "series" command for the new infrastructure
Allow the Repository.get_stack() to get a default argument
Fix error in status.py when calling git.resolved
Convert "top" to the new infrastructure
Convert "export" to the new infrastructure
Merge branch 'stable'
Merge commit 'kha/safe'
Fix the parse_patches() function to work with tuples
Allow stack.patchorder.all to return hidden patches
Rename Repository.head to Repository.head_ref
Create a git.Branch class as ancestor of stack.Stack
Add stack creation and initialisation support to lib.Stack
Convert "init" to the new StGIT infrastructure
Add test_patches target to Makefile
Merge branch 'stable'
Fix export error introduced by recent convertion
Allow e-mails to be sent with the Unix sendmail tool
Implement a new patch identification scheme and id command
Convert git_id() to the new id format
Remove the applied/unapplied commands
Remove the duplicate utils.strip_leading function
Fix the importing of config in series.py
Fix import to work properly in subdirectories
Merge branch 'stable'
Do not crash if a patch log ref is missing
Autosign newly created patches
Fix the sink command for various test cases
Merge branch 'stable'
Use --diff rather than --patch in log.py
Fix "show" to allow multiple branch:patch arguments
Change e-mail user agent header to StGit
Add parse_patches boundary in the delete.py file
Remove the --committer options
Remove e-mail address duplicates
Refresh of remove-e-mail-address-duplicat
Allow pick --fold to work without applied patches
Generate a different patch name if it already exists
Add 'pick' test script
Merge branch 'proposed'
Display (empty) when appropriate for the goto command
Fix the HEAD updating during a conflicting push (bug #12609)
s/GIT/Git/ in the README
Add "tags" target to Makefile
Do not append a new line to the backwards compat files (bug #12656)
Print conflict details with the new infrastructure (bug #11181)
Merge branch 'proposed'
Fix the patch argument parsing for the "show" command
Pass the diff flags when statistics are required
Merge branch 'stable'
Add --file option to pick
Check for local changes with "goto"
Add mergetool support to the classic StGit infrastructure
Add automatic git-mergetool invocation to the new infrastructure
Convert "sink" to the new infrastructure
Convert "float" to the lib infrastructure
Use a default "hidden" argument in StackTransaction.reorder_patches
Add the --merged option to goto
Convert "pop" to the lib infrastructure
Convert "push" to the lib infrastructure
Show "Pushing <patch>...done" when pushing a patch
Show some progress information when checking for upstream merges.
Do not sleep after the last patch sent by e-mail
Convert 'clone' to the use stgit.lib
Convert 'hide' to the lib infrastructure
Convert 'unhide' to the lib infrastructure
Reinstate the --annotate option for refresh
Add the log --clear option
Add support for merge-friendly branches
Add "stg id" support for "{public}" ref
Use the default git colouring scheme rather than specific scripts
Remove the resolved command
Improve the "publish" merge message to give slightly more information
Only allow publishing to refs/heads/*
Rename out.start() to out.inf() in the publish command
Add --reject option to import
Add --stat option to show
Do not replace '-' with '.' in the version string
Gustav Hållberg (39):
stgit.el: Compact code for populating stgit-mode-map
stgit.el: Add 'q' for stgit-quit
stgit.el: Add 'm' as alias for stgit-mark
stgit.el: Add stgit-unmark-down
stgit.el: Fix some indentation
stgit.el: Add stgit-git-status
stgit.el: Fix working directory bug in stgit-new
stgit.el: Unify help text formatting
stgit.el: Add flag to signal errors in stgit-patch-at-point
stgit.el: Automatically update git-status buffer when necessary
stgit.el: Add support for showing which files are affected by a patch
stgit.el: Add an stgit customization group
stgit.el: Use 'git diff-stat' to show files in a patch
Add '--help' to tab completion for all commands
stg mail: Improve error message for unknown sender identity
stgit.el: Also show mode and type changes of files in patches
man pages: Bugfixed man pages for --sign and --ack flags; e.g.,
for stg-new
stgit.el: Make prefix argument to stgit-new add a Signed-off-by: line
stgit.el: Bugfix stgit-unmark-down on the last patch
stgit.el: Fix some too wide lines
stgit.el: Add some missing help texts
stgit.el: Canonicalize some error messages
stgit.el: Consistently use symbols rather than strings for patch names
stgit.el: Make single file diff buffer read-only
stgit.el: Include stat summary in patch diff
stgit.el: Add message when there are no patches in the series
stgit.el: Indicate empty patches
stgit.el: Minor beautification
stgit.el: Add optional count argument to stgit-commit
stgit.el: make stgit-delete with prefix argument spill patch
contents to index
stgit.el: Add "B" for stgit-branch
stgit.el: Manually draw/erase the mark in stgit-{add,remove}-mark
stgit.el: Clarify documentation of stgit-capture-output
stgit.el: Add "M" for stgit-move-patches
stgit.el: Run 'git show' with -M to detect renames when showing
entire patch
stgit.el: Break out stgit-sort-patches to a separate function
for future reuse
stgit.el: Sort patches correctly before merging them in stgit-squash
stgit.el: Handle errors in first phase of stgit squash
stgit.el: Bind line movement keys in a sane way
David Kågedal (33):
Added --save-template flag to edit command
Treat filename '-' as stdin/stdout in edit
Add an StGit mode for emacs
Emacs mode: Improve the output buffer state
Emacs mode: Bind n and p
Emacs mode: add stgit-repair
Emacs mode: added stgit-commit and stgit-uncommit
Emacs mode: Add stgit-edit command
Emacs mode: added fontification
Emacs mode: Added stgit-new
Check bottom and invariants
Remove the 'bottom' field
Remove the 'top' field
Split git.merge into two functions
Leave working dir and index alone after failed (conflicting) push
Added a test case to check what happens when push finds a conflict
Simplify merge_recursive
Use the output from merge-recursive to list conflicts
Ask git about unmerged files
Emacs mode: Add mark command
Emacs mode: coalesce command
Add support for initializing a branch for stgit from Emacs.
stgit.el: Add numeric prefix argument to push and pop commands.
stgit.el: Adapt to new output from stg series.
stgit.el: Add undo command
stgit.el: Try to make the point stay on the coalesced patch
stgit.el: Rename stgit-refresh to stgit-reload
stgit.el: Move stgit-rename to C-c C-r
stgit.el: Add the stgit-refresh command
stgit.el: Show running commands
Use separate column for zero in output of stg series -e
stgit.el: Expand or collapse only the patch at point, instead of
rerunning stg-reload.
Add a --set-tree flag to stg push
Daniel White (11):
Fixed default install location
Fix Makefile to correctly pass prefix option
Remove variables regarding section 7 man pages
Fix default install location for manpages
Add install-doc target to makefile
Add install-html target to makefile
Remove installation of documentation from setup.py
Updated INSTALL with documentation of Makefile
debian/rules: take advantage of new build targets
Remove dashed form of git command still in comment
Fixes for auto-generation of man pages
Samuel Tardieu (4):
Find CmdException in common
Do not insert an empty line before the diffstat info
Do not mess-up with commit message formatting when sending email
Load the whole config at once and cache it for future use
Clark Williams (3):
Patch to allow import from compressed files (gzip and bzip2)
Ignore compiled elisp files
Teach "stg import" to import patch series from tar archives
Peter Oberndorfer (3):
Don't mention removed "stg refresh" options
replace "git repo-config" usage by "git config"
Add an --index option to "stg refresh"
Alex Chiang (2):
Better "stg rebase" help text
fix stg mail %(shortlog)s order
Dan Williams (2):
mail: add some commonly used tags to --auto
fix export -s
Miklos Vajna (2):
setup.py: don't try to import stgit.run before the python version check
setup.py: fix error message when running with python-2.3
Onno Kortmann (2):
Simple rename of top-most patch
Test the 'stg rename' command
Pavel Roskin (2):
Fix "stg edit --sign"
Add test to ensure that "stg clean" preserves conflicting patches
Shinya Kuribayashi (2):
diffcol.sh: Use /bin/bash explicitly
stgit-completion.bash: Remove add/applied/cp/rm/unapplied
Ted Pavlic (2):
Modify bash completion to support help, version, and copyright.
Make bash completion fail to bashdefault before default completion.
Angus Salkeld (1):
stg mail crashes when there is no patch description
Jason Green (1):
Patch to clarify the "unsolved conflicts" message in Stacked Git
Pete Wyckoff (1):
stgit.namelength is an integer
Toby Allsopp (1):
Fix "stg branch --delete" on a nonexistent branch
--
Catalin
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ANNOUNCE] Stacked Git 0.15-rc1
2009-07-12 22:40 [ANNOUNCE] Stacked Git 0.15-rc1 Catalin Marinas
@ 2009-07-13 8:28 ` Uwe Kleine-König
2009-07-14 14:12 ` Catalin Marinas
2009-07-13 13:10 ` Karl Wiberg
` (2 subsequent siblings)
3 siblings, 1 reply; 13+ messages in thread
From: Uwe Kleine-König @ 2009-07-13 8:28 UTC (permalink / raw)
To: Catalin Marinas; +Cc: Git Mailing List, Karl Hasselström, John Kacur
Hi Catalin,
On Sun, Jul 12, 2009 at 11:40:05PM +0100, Catalin Marinas wrote:
> The first release candidate for StGit 0.15 is available from the
> git://repo.or.cz/stgit.git or http://download.gna.org/stgit/. Bugs can
> be reported on the Git mailing list or via the project bugs page
> (https://gna.org/bugs/?group=stgit).
Try this:
git clone --depth=10 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.29.y.git
wget http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.29.6-rt23-broken-out.tar.bz2
tar xjf patch-2.6.29.6-rt23-broken-out.tar.bz2
cd linux-2.6.29.y
git checkout -b 2.6.29-rt v2.6.29.6
stg init
stg import -s ../patches/series
(Nice, 0.14.2-1 from Debian failed here, because of a line break in a
From: header.)
But still:
stg goto include-linux-delay-h-in-hwlat_detector.patch
git show --stat
yields:
commit 12c06d44017a9c51746290779fc24fb8d69c68ef
Author: Uwe Kleine-König <=?utf-8?q?Uwe=20Kleine-K=C3=B6nig?=>
Date: Mon Jul 13 10:01:19 2009 +0200
Subject: include linux/delay.h in hwlat_detector
<u.kleine-koenig@pengutronix.de>
Date: Sun, 14 Jun 2009 23:31:42 +0200
This broke when compiling on i386 without X86_LOCAL_APIC because then
arch/x86/include/asm/smp.h doesn't include asm/apic.h which in turn includes
linux/delay.h.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Jon Masters <jcm@redhat.com>
LKML-Reference: <1245015102-22057-1-git-send-email-u.kleine-koenig@pengutron
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jon Masters <jcm@redhat.com>
drivers/misc/hwlat_detector.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
There are some things to enhance:
- s/Subject: //
- use Date line as author date
- stray email address
- author ident is wrong/broken
If you look on arm-__builtin_return_address-works-with-argument-0.patch
there the author is broken in an other way:
stg goto arm-__builtin_return_address-works-with-argument-0.patch
git show | grep Author:
yields:
Author: =?utf-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
Note that git quiltimport using git mailinfo gets all that right.
(e.g.
git checkout -b 2.6.29-rt-quiltimport v2.6.29.6
git quiltimport --author="do <nt@kn.ow>" --patches=../patches/)
git log --author=Uwe
git mailinfo msg patch < ../patches/include-linux-delay-h-in-hwlat_detector.patch
cat msg
)
Best regards
Uwe
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ANNOUNCE] Stacked Git 0.15-rc1
2009-07-12 22:40 [ANNOUNCE] Stacked Git 0.15-rc1 Catalin Marinas
2009-07-13 8:28 ` Uwe Kleine-König
@ 2009-07-13 13:10 ` Karl Wiberg
2009-07-13 13:33 ` Aneesh Kumar K.V
2009-07-14 17:52 ` Larry D'Anna
3 siblings, 0 replies; 13+ messages in thread
From: Karl Wiberg @ 2009-07-13 13:10 UTC (permalink / raw)
To: Catalin Marinas; +Cc: Git Mailing List
On 2009-07-12 23:40:05 +0100, Catalin Marinas wrote:
> - Emacs mode improvements
Actually, the emacs mode didn't even exist in the last release.
> Karl Hasselström (182):
Could you pull my "safe" branch? I've updated .mailmap, because I just
got married.
--
Karl Wiberg, kha@treskal.com
www.treskal.com/kalle
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ANNOUNCE] Stacked Git 0.15-rc1
2009-07-12 22:40 [ANNOUNCE] Stacked Git 0.15-rc1 Catalin Marinas
2009-07-13 8:28 ` Uwe Kleine-König
2009-07-13 13:10 ` Karl Wiberg
@ 2009-07-13 13:33 ` Aneesh Kumar K.V
2009-07-13 17:07 ` Catalin Marinas
2009-07-14 17:52 ` Larry D'Anna
3 siblings, 1 reply; 13+ messages in thread
From: Aneesh Kumar K.V @ 2009-07-13 13:33 UTC (permalink / raw)
To: Catalin Marinas; +Cc: Git Mailing List, Karl Hasselström
On Sun, Jul 12, 2009 at 11:40:05PM +0100, Catalin Marinas wrote:
> The first release candidate for StGit 0.15 is available from the
> git://repo.or.cz/stgit.git or http://download.gna.org/stgit/. Bugs can
> be reported on the Git mailing list or via the project bugs page
> (https://gna.org/bugs/?group=stgit).
>
> StGit is a Python application providing similar functionality to Quilt
> (i.e. pushing/popping patches to/from a stack) on top of Git. These
> operations are performed using Git commands and the patches are stored
> as Git commit objects, allowing easy merging of the StGit patches into
> other repositories using standard Git functionality.
>
> The main changes since release 0.14.3 (I may miss some important
> features but they can be found in the log):
stg show now gives me output like below
ESC[1mdiff --git a/fs/nfs/nfs4acl.c b/fs/nfs/nfs4acl.cESC[m
ESC[1mindex 09946da..c9a6dee 100644ESC[m
ESC[1m--- a/fs/nfs/nfs4acl.cESC[m
ESC[1m+++ b/fs/nfs/nfs4acl.cESC[m
ESC[36m@@ -37,6 +37,7 @@ESC[m
I guess it is due to coloring enabled in git. I have in git
$ git config --get "color.ui"
auto
$
git show does the right thing. ie show the diff in color
-aneesh
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ANNOUNCE] Stacked Git 0.15-rc1
2009-07-13 13:33 ` Aneesh Kumar K.V
@ 2009-07-13 17:07 ` Catalin Marinas
2009-07-13 17:20 ` Aneesh Kumar K.V
0 siblings, 1 reply; 13+ messages in thread
From: Catalin Marinas @ 2009-07-13 17:07 UTC (permalink / raw)
To: Aneesh Kumar K.V; +Cc: Git Mailing List, Karl Wiberg
2009/7/13 Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>:
> On Sun, Jul 12, 2009 at 11:40:05PM +0100, Catalin Marinas wrote:
>> The first release candidate for StGit 0.15 is available from the
>> git://repo.or.cz/stgit.git or http://download.gna.org/stgit/. Bugs can
>> be reported on the Git mailing list or via the project bugs page
>> (https://gna.org/bugs/?group=stgit).
>>
>> StGit is a Python application providing similar functionality to Quilt
>> (i.e. pushing/popping patches to/from a stack) on top of Git. These
>> operations are performed using Git commands and the patches are stored
>> as Git commit objects, allowing easy merging of the StGit patches into
>> other repositories using standard Git functionality.
>>
>> The main changes since release 0.14.3 (I may miss some important
>> features but they can be found in the log):
>
>
> stg show now gives me output like below
>
> ESC[1mdiff --git a/fs/nfs/nfs4acl.c b/fs/nfs/nfs4acl.cESC[m
> ESC[1mindex 09946da..c9a6dee 100644ESC[m
> ESC[1m--- a/fs/nfs/nfs4acl.cESC[m
> ESC[1m+++ b/fs/nfs/nfs4acl.cESC[m
> ESC[36m@@ -37,6 +37,7 @@ESC[m
It works fine for me. Do you have a pager for StGit configured in .gitconfig?
StGit now uses the default output from git (with colours)
> I guess it is due to coloring enabled in git. I have in git
>
> $ git config --get "color.ui"
What does "git config color.diff" say?
--
Catalin
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ANNOUNCE] Stacked Git 0.15-rc1
2009-07-13 17:07 ` Catalin Marinas
@ 2009-07-13 17:20 ` Aneesh Kumar K.V
2009-07-13 17:47 ` Aneesh Kumar K.V
0 siblings, 1 reply; 13+ messages in thread
From: Aneesh Kumar K.V @ 2009-07-13 17:20 UTC (permalink / raw)
To: Catalin Marinas; +Cc: Git Mailing List, Karl Wiberg
On Mon, Jul 13, 2009 at 06:07:06PM +0100, Catalin Marinas wrote:
> 2009/7/13 Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>:
> > On Sun, Jul 12, 2009 at 11:40:05PM +0100, Catalin Marinas wrote:
> >> The first release candidate for StGit 0.15 is available from the
> >> git://repo.or.cz/stgit.git or http://download.gna.org/stgit/. Bugs can
> >> be reported on the Git mailing list or via the project bugs page
> >> (https://gna.org/bugs/?group=stgit).
> >>
> >> StGit is a Python application providing similar functionality to Quilt
> >> (i.e. pushing/popping patches to/from a stack) on top of Git. These
> >> operations are performed using Git commands and the patches are stored
> >> as Git commit objects, allowing easy merging of the StGit patches into
> >> other repositories using standard Git functionality.
> >>
> >> The main changes since release 0.14.3 (I may miss some important
> >> features but they can be found in the log):
> >
> >
> > stg show now gives me output like below
> >
> > ESC[1mdiff --git a/fs/nfs/nfs4acl.c b/fs/nfs/nfs4acl.cESC[m
> > ESC[1mindex 09946da..c9a6dee 100644ESC[m
> > ESC[1m--- a/fs/nfs/nfs4acl.cESC[m
> > ESC[1m+++ b/fs/nfs/nfs4acl.cESC[m
> > ESC[36m@@ -37,6 +37,7 @@ESC[m
>
> It works fine for me. Do you have a pager for StGit configured in .gitconfig?
>
No
> StGit now uses the default output from git (with colours)
>
> > I guess it is due to coloring enabled in git. I have in git
> >
> > $ git config --get "color.ui"
>
> What does "git config color.diff" say?
>
I don't have that config set.
I am on ubuntu jaunty. Do you think it could be a pager bug ?
-aneesh
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ANNOUNCE] Stacked Git 0.15-rc1
2009-07-13 17:20 ` Aneesh Kumar K.V
@ 2009-07-13 17:47 ` Aneesh Kumar K.V
2009-07-13 22:06 ` Catalin Marinas
0 siblings, 1 reply; 13+ messages in thread
From: Aneesh Kumar K.V @ 2009-07-13 17:47 UTC (permalink / raw)
To: Catalin Marinas; +Cc: Git Mailing List, Karl Wiberg
On Mon, Jul 13, 2009 at 10:50:17PM +0530, Aneesh Kumar K.V wrote:
> On Mon, Jul 13, 2009 at 06:07:06PM +0100, Catalin Marinas wrote:
> > 2009/7/13 Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>:
> > > On Sun, Jul 12, 2009 at 11:40:05PM +0100, Catalin Marinas wrote:
> > >> The first release candidate for StGit 0.15 is available from the
> > >> git://repo.or.cz/stgit.git or http://download.gna.org/stgit/. Bugs can
> > >> be reported on the Git mailing list or via the project bugs page
> > >> (https://gna.org/bugs/?group=stgit).
> > >>
> > >> StGit is a Python application providing similar functionality to Quilt
> > >> (i.e. pushing/popping patches to/from a stack) on top of Git. These
> > >> operations are performed using Git commands and the patches are stored
> > >> as Git commit objects, allowing easy merging of the StGit patches into
> > >> other repositories using standard Git functionality.
> > >>
> > >> The main changes since release 0.14.3 (I may miss some important
> > >> features but they can be found in the log):
> > >
> > >
> > > stg show now gives me output like below
> > >
> > > ESC[1mdiff --git a/fs/nfs/nfs4acl.c b/fs/nfs/nfs4acl.cESC[m
> > > ESC[1mindex 09946da..c9a6dee 100644ESC[m
> > > ESC[1m--- a/fs/nfs/nfs4acl.cESC[m
> > > ESC[1m+++ b/fs/nfs/nfs4acl.cESC[m
> > > ESC[36m@@ -37,6 +37,7 @@ESC[m
> >
> > It works fine for me. Do you have a pager for StGit configured in .gitconfig?
> >
>
> No
>
> > StGit now uses the default output from git (with colours)
> >
> > > I guess it is due to coloring enabled in git. I have in git
> > >
> > > $ git config --get "color.ui"
> >
> > What does "git config color.diff" say?
> >
>
> I don't have that config set.
>
> I am on ubuntu jaunty. Do you think it could be a pager bug ?
>
I had PAGER=less in my .bashrc. I had set it that way because of
https://bugs.launchpad.net/ubuntu/+source/less/+bug/67381
Removing that fixed the problem
-aneesh
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ANNOUNCE] Stacked Git 0.15-rc1
2009-07-13 17:47 ` Aneesh Kumar K.V
@ 2009-07-13 22:06 ` Catalin Marinas
2009-07-13 22:57 ` Linus Torvalds
0 siblings, 1 reply; 13+ messages in thread
From: Catalin Marinas @ 2009-07-13 22:06 UTC (permalink / raw)
To: Aneesh Kumar K.V; +Cc: Git Mailing List, Karl Wiberg
2009/7/13 Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>:
> On Mon, Jul 13, 2009 at 10:50:17PM +0530, Aneesh Kumar K.V wrote:
>> On Mon, Jul 13, 2009 at 06:07:06PM +0100, Catalin Marinas wrote:
>> > 2009/7/13 Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>:
>> > > stg show now gives me output like below
>> > >
>> > > ESC[1mdiff --git a/fs/nfs/nfs4acl.c b/fs/nfs/nfs4acl.cESC[m
>> > > ESC[1mindex 09946da..c9a6dee 100644ESC[m
>> > > ESC[1m--- a/fs/nfs/nfs4acl.cESC[m
>> > > ESC[1m+++ b/fs/nfs/nfs4acl.cESC[m
>> > > ESC[36m@@ -37,6 +37,7 @@ESC[m
[...]
> I had PAGER=less in my .bashrc. I had set it that way because of
> https://bugs.launchpad.net/ubuntu/+source/less/+bug/67381
>
> Removing that fixed the problem
Thanks. You shouldn't remove that actually. The patch below should
give similar behaviour to Git (added to the "proposed" branch):
Set the LESS environment if the pager is 'less'
From: Catalin Marinas <catalin.marinas@arm.com>
This fixes the coloured output if the PAGER environment is set to less
(similar behaviour to Git).
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
---
stgit/config.py | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/stgit/config.py b/stgit/config.py
index f205e5b..75bdadb 100644
--- a/stgit/config.py
+++ b/stgit/config.py
@@ -37,7 +37,7 @@ class GitConfig:
'stgit.keepoptimized': 'no',
'stgit.extensions': '.ancestor .current .patched',
'stgit.shortnr': '5',
- 'stgit.pager': 'less -FRSX'
+ 'stgit.pager': 'less'
}
__cache = None
@@ -121,6 +121,8 @@ def config_setup():
global config
os.environ.setdefault('PAGER', config.get('stgit.pager'))
+ if os.environ.get('PAGER').startswith('less'):
+ os.environ.setdefault('LESS', '-FRSX')
# FIXME: handle EDITOR the same way ?
class ConfigOption:
--
Catalin
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [ANNOUNCE] Stacked Git 0.15-rc1
2009-07-13 22:06 ` Catalin Marinas
@ 2009-07-13 22:57 ` Linus Torvalds
2009-07-14 8:24 ` Catalin Marinas
0 siblings, 1 reply; 13+ messages in thread
From: Linus Torvalds @ 2009-07-13 22:57 UTC (permalink / raw)
To: Catalin Marinas; +Cc: Aneesh Kumar K.V, Git Mailing List, Karl Wiberg
On Mon, 13 Jul 2009, Catalin Marinas wrote:
>
> os.environ.setdefault('PAGER', config.get('stgit.pager'))
> + if os.environ.get('PAGER').startswith('less'):
> + os.environ.setdefault('LESS', '-FRSX')
> # FIXME: handle EDITOR the same way ?
That's not very smart.
First off, PAGER could easily be something like "/usr/local/bin/less".
Secondly, if it isn't less, so what? If it's not less, it won't care about
the LESS environment variable.
So just do an unconditional
os.environ.setdefault('LESS', '-FRSX')
and it will (a) work better, (b) be simpler and more efficient.
Linus
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ANNOUNCE] Stacked Git 0.15-rc1
2009-07-13 22:57 ` Linus Torvalds
@ 2009-07-14 8:24 ` Catalin Marinas
0 siblings, 0 replies; 13+ messages in thread
From: Catalin Marinas @ 2009-07-14 8:24 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Aneesh Kumar K.V, Git Mailing List, Karl Wiberg
2009/7/13 Linus Torvalds <torvalds@linux-foundation.org>:
> On Mon, 13 Jul 2009, Catalin Marinas wrote:
>>
>> os.environ.setdefault('PAGER', config.get('stgit.pager'))
>> + if os.environ.get('PAGER').startswith('less'):
>> + os.environ.setdefault('LESS', '-FRSX')
>> # FIXME: handle EDITOR the same way ?
>
> That's not very smart.
>
> First off, PAGER could easily be something like "/usr/local/bin/less".
>
> Secondly, if it isn't less, so what? If it's not less, it won't care about
> the LESS environment variable.
>
> So just do an unconditional
>
> os.environ.setdefault('LESS', '-FRSX')
>
> and it will (a) work better, (b) be simpler and more efficient.
Good point. Thanks. This is the new version:
diff --git a/stgit/config.py b/stgit/config.py
index f205e5b..4a6cb3b 100644
--- a/stgit/config.py
+++ b/stgit/config.py
@@ -37,7 +37,7 @@ class GitConfig:
'stgit.keepoptimized': 'no',
'stgit.extensions': '.ancestor .current .patched',
'stgit.shortnr': '5',
- 'stgit.pager': 'less -FRSX'
+ 'stgit.pager': 'less'
}
__cache = None
@@ -121,6 +121,7 @@ def config_setup():
global config
os.environ.setdefault('PAGER', config.get('stgit.pager'))
+ os.environ.setdefault('LESS', '-FRSX')
# FIXME: handle EDITOR the same way ?
class ConfigOption:
--
Catalin
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [ANNOUNCE] Stacked Git 0.15-rc1
2009-07-13 8:28 ` Uwe Kleine-König
@ 2009-07-14 14:12 ` Catalin Marinas
0 siblings, 0 replies; 13+ messages in thread
From: Catalin Marinas @ 2009-07-14 14:12 UTC (permalink / raw)
To: Uwe Kleine-König; +Cc: Git Mailing List, Karl Hasselström, John Kacur
2009/7/13 Uwe Kleine-König <u.kleine-koenig@pengutronix.de>:
> stg goto include-linux-delay-h-in-hwlat_detector.patch
> git show --stat
>
> yields:
>
> commit 12c06d44017a9c51746290779fc24fb8d69c68ef
> Author: Uwe Kleine-König <=?utf-8?q?Uwe=20Kleine-K=C3=B6nig?=>
> Date: Mon Jul 13 10:01:19 2009 +0200
>
> Subject: include linux/delay.h in hwlat_detector
> <u.kleine-koenig@pengutronix.de>
> Date: Sun, 14 Jun 2009 23:31:42 +0200
>
> This broke when compiling on i386 without X86_LOCAL_APIC because then
> arch/x86/include/asm/smp.h doesn't include asm/apic.h which in turn includes
> linux/delay.h.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> Cc: Jon Masters <jcm@redhat.com>
> LKML-Reference: <1245015102-22057-1-git-send-email-u.kleine-koenig@pengutron
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Jon Masters <jcm@redhat.com>
>
> drivers/misc/hwlat_detector.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> There are some things to enhance:
>
> - s/Subject: //
> - use Date line as author date
> - stray email address
> - author ident is wrong/broken
Can you try stg import -m? If all the patches have Subject: (From:
etc.), git show displays:
commit 7718bb00156313687ae42c3ae9d157c558bacb15
Author: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date: Sun Jun 14 23:31:42 2009 +0200
include linux/delay.h in hwlat_detector
This broke when compiling on i386 without X86_LOCAL_APIC because then
arch/x86/include/asm/smp.h doesn't include asm/apic.h which in turn includes
linux/delay.h.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Jon Masters <jcm@redhat.com>
LKML-Reference: <1245015102-22057-1-git-send-email-u.kleine-koenig@pengutron
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jon Masters <jcm@redhat.com>
If there are mixed patches, we may need some kind of autodetection but
it seems that most rt patches follow this rule. If there is no
description (kbuild.patch), stgit seems to insert None.
--
Catalin
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ANNOUNCE] Stacked Git 0.15-rc1
2009-07-12 22:40 [ANNOUNCE] Stacked Git 0.15-rc1 Catalin Marinas
` (2 preceding siblings ...)
2009-07-13 13:33 ` Aneesh Kumar K.V
@ 2009-07-14 17:52 ` Larry D'Anna
2009-07-14 21:05 ` Catalin Marinas
3 siblings, 1 reply; 13+ messages in thread
From: Larry D'Anna @ 2009-07-14 17:52 UTC (permalink / raw)
To: Catalin Marinas; +Cc: Git Mailing List, Karl Hasselström
* Catalin Marinas (catalin.marinas@gmail.com) [090712 18:41]:
> - New 'publish' command for maintaining merge-friendly branches
I'd like to know more about that. The documentation doesn't say much. What's
it do exactly?
--larry
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ANNOUNCE] Stacked Git 0.15-rc1
2009-07-14 17:52 ` Larry D'Anna
@ 2009-07-14 21:05 ` Catalin Marinas
0 siblings, 0 replies; 13+ messages in thread
From: Catalin Marinas @ 2009-07-14 21:05 UTC (permalink / raw)
To: Catalin Marinas, Git Mailing List, Karl Hasselström
2009/7/14 Larry D'Anna <larry@elder-gods.org>:
> * Catalin Marinas (catalin.marinas@gmail.com) [090712 18:41]:
>> - New 'publish' command for maintaining merge-friendly branches
>
> I'd like to know more about that. The documentation doesn't say much. What's
> it do exactly?
You basically keep two branches - one with patches where you can
freely update, reorder, add and remove patches (re-writing the
history) but usually private and another public that people can merge.
The history is never re-written on the public branch and you never
need to work on it directly. The tree of the public branch head is the
same as the stgit branch tree (but history may differ).
The publish command checks for any new changes on the stgit branch and
generates commits on top of the public branch (called <branch>.public
by default). It detects new patches added on top of your branch and
adds them as new commits to the public one. If the stgit branch was
rebased, it generates a merge commit on the public branch. If a patch
was modified and you then publish, it may ask for a commit message to
describe the change. If you reorder patches but the final tree is not
modified, no new changes are published.
I also find it useful when maintaining several stgit branches and want
to merge them into a master branch. If there are conflicts, they need
o be resolved every time I rebase the stgit branches. To avoid this,
in the master branch I only merge the published branches (the master
branch on http://www.linux-arm.org/git?p=linux-2.6.git;a=summary is
created this way). This also helps with conflicts with upstream as you
only need to solve them in the stgit branch rather than the master
one.
--
Catalin
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2009-07-14 21:05 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-12 22:40 [ANNOUNCE] Stacked Git 0.15-rc1 Catalin Marinas
2009-07-13 8:28 ` Uwe Kleine-König
2009-07-14 14:12 ` Catalin Marinas
2009-07-13 13:10 ` Karl Wiberg
2009-07-13 13:33 ` Aneesh Kumar K.V
2009-07-13 17:07 ` Catalin Marinas
2009-07-13 17:20 ` Aneesh Kumar K.V
2009-07-13 17:47 ` Aneesh Kumar K.V
2009-07-13 22:06 ` Catalin Marinas
2009-07-13 22:57 ` Linus Torvalds
2009-07-14 8:24 ` Catalin Marinas
2009-07-14 17:52 ` Larry D'Anna
2009-07-14 21:05 ` Catalin Marinas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).