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