commit 48e5cef14cea5c810833d119900cd484c2a6ca85
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Sep 30 16:21:37 2013 +0100

    Release 0.17.1
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 068981193fc7efba2c96b9ed3e323a8fc8466436
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Sep 30 16:12:09 2013 +0100

    Add release notes for 0.17
    
    They were missed when the 0.17 tag was created.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit 2cf0aa3a2eec2765c78342666be944fd8f745f74
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Sep 30 16:46:15 2013 +0100

    Fix test failures following refresh warning patch
    
    The t0002-status.sh and t2702-refresh-rm.sh now fail following commit
    6e8fdc58 (stg: make refresh warn when index is dirty). This patch adds
    --force option to the 'stg refresh' command where required.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit 6106388ae10e8f21042e7041783c8373e61c89d8
Merge: 7c5776e b26b7fb
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 27 14:52:23 2013 +0100

    Merge branch 'safe' of git://repo.or.cz/stgit/kha
    
    * 'safe' of git://repo.or.cz/stgit/kha:
      Fix --authdate date parsing (other formats)
      Fix --authdate date parsing (ISO 8601 formats)
      Fix rebase where a directory is replaced by a file (fixes t2201 failure)
      New failing test case: Rebase from dir to file
      test-lib.sh: Don't set GIT_CONFIG to a relative path
      Fix t1900-mail: --auto causes the patch signers to be CCed
      Run the test suite in parallel
      Print tracebacks to stderr
      Set correct debug level when running tests with --verbose
      test-lib.sh: Let expected failures that don't fail cause the test to fail
      Mark up new failures in the test suite

commit b26b7fb9569150b1877f86f9033dbdb5b58989a8
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Sep 25 01:26:08 2013 +0200

    Fix --authdate date parsing (other formats)
    
    This patch makes StGit fall back to using the system's date command to
    parse date strings supplied by the user if it can't make sense of them
    on its own.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit c0e57187f3da2dee0e9ed1d9a709e1c571b30546
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Sep 25 01:26:08 2013 +0200

    Fix --authdate date parsing (ISO 8601 formats)
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit f0b2610350d33d26cf25d97ed155d28bdb38f5f6
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Sep 25 01:26:08 2013 +0200

    Fix rebase where a directory is replaced by a file (fixes t2201 failure)
    
    One of the tests introduced in the previous commit failed because the
    logic to remove files during rebase was broken; this patch fixes it by
    removing it entirely, since it doesn't appear to have been necessary
    in the first place.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 15160bc8382607bc9db04695fedf85119e571986
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Sep 25 01:26:08 2013 +0200

    New failing test case: Rebase from dir to file
    
    Add a test for two potentially problematic operations: rebasing from a
    tree where x is a file to one where it's a directory, and the other
    way around. The former works correctly, but the latter makes StGit
    crash with a backtrace (it's marked up as an expected failure).
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 3e711a5314609621eea7a4c2ee1b7c02f5d0e542
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Sep 25 01:26:08 2013 +0200

    test-lib.sh: Don't set GIT_CONFIG to a relative path
    
    If we do, things will fail if we call any git commands from a
    subdirectory of a repository, where the relative path ".git/config"
    isn't the path to the config file. The following tests are fixed by
    this patch:
    
       t1205-push-subdir.sh
       t1800-import.sh
       t2300-refresh-subdir.sh
       t2800-goto-subdir.sh
    
    I'm not sure why this used to work. I'm guessing git has gotten more
    pedantic (which is a fine decision---if we give it the path to the
    config file and that path doesn't work, we want it to fail!), but I
    haven't attempted to verify this.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 700eaba863f5a4aeb1d79d7f941cf2d033a33dec
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Sep 25 01:26:08 2013 +0200

    Fix t1900-mail: --auto causes the patch signers to be CCed
    
    Previously, the patch signer was filtered out, but that's no longer
    the case. I suspect
    
      f7ce854c mail: Do no filter explicitly added --cc sender address
    
    but I haven't verified this.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 0dc586de2be8e03384155bcc7cf7111bbf4c2338
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Sep 25 01:26:07 2013 +0200

    Run the test suite in parallel
    
    On a 4-core test machine with the test scratch dir on NFS, this
    reduces the time for running the complete suite from 7-8 minutes to 53
    seconds, very close to a 10x speedup. On a similar machine with the
    test scratch dir on an SSD, it reduces the time from 3:43 to 49
    seconds, a respectable 4.5x speedup.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 5633279e4b7c3ce3c053146fa08a9891470f4c34
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Sep 25 01:26:07 2013 +0200

    Print tracebacks to stderr
    
    That way, they'll be seen even if stdout has been redirected. This is
    useful in many of our tests.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit c3aa50aed932e9bd7f1aba574026fd423cbd48f0
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Sep 25 01:26:07 2013 +0200

    Set correct debug level when running tests with --verbose
    
    I don't think debug level -1 ever did anything useful---except
    suppressing debug output, which wasn't the desired effect.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 95c60f8d4b269d1ccb6704870f21ad72efe7bbe7
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Sep 25 01:26:07 2013 +0200

    test-lib.sh: Let expected failures that don't fail cause the test to fail
    
    With this patch, a test with expected failures that don't fail as
    expected will return 1 instead of 0. This makes it possible for the
    caller (e.g. make, in the case of "make test") to detect the
    irregularity and point it out to the user.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 0fca71cee44f5814a2e68ca61d6d20b1ac937f28
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Sep 25 01:54:35 2013 +0200

    Mark up new failures in the test suite
    
    Apparently not everyone runs the test suite before posting and
    accepting patches...
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 7c5776eb66b5ab36a586d9a87dd12ee7c0b0cf44
Author: Zane Bitter <zbitter@redhat.com>
Date:   Wed Jul 17 15:57:10 2013 +0200

    Fix dirty index errors when resolving conflicts
    
    The patch 6e8fdc58c786a45d7a63c5edf9c702f1874a7a19 causes StGit to raise
    "warnings" (actually: errors) in the event that there are changes staged in
    the index and a refresh is performed without specifying either --index or
    --force. This is great for preventing an entire class of common mistakes,
    but is also a giant pain when resolving conflicts after a pull/rebase.
    Depending on the workflow in use, this may occur with a frequency anywhere
    between "never" and "mulitple times on every pull".
    
    This patch removes the pain by:
     - Reporting unresolved conflicts *before* complaining about staged
       changes, since it goes without saying that, when present, these are the
       main problem.
     - Not complaining about staged changes if there are no unstaged changes in
       the working directory, since the presence of --index is immaterial in
       this case.
    
    Signed-off-by: Zane Bitter <zbitter@redhat.com>
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>

commit 37a6dd7aadf3380ddbe6418d5667e9dce42eff18
Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Date:   Thu Jun 27 16:04:06 2013 -0700

    gitignore: Add ChangeLog to .gitignore
    
    The ChangeLog is created by the build scripts each time, so don't
    worry about tracking it.
    
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>

commit 08269aec3dc03638c2919a8158fa2bffce854361
Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Date:   Thu Jun 27 15:40:05 2013 -0700

    changelog: add new debian changelog entry
    
    Need a new entry for the next release.
    
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>

commit 6e8fdc58c786a45d7a63c5edf9c702f1874a7a19
Author: Jacob Keller <jacob.e.keller@intel.com>
Date:   Thu Jun 20 15:40:56 2013 -0700

    stg: make refresh warn when index is dirty
    
    Sometimes it is useful to use git add interactively in order to selectively add
    parts of an edit to the index, and then refresh a patch. However, standard stg
    operation has refresh add every modified file to the patch. This is somewhat
    annoying because it is easy to perform a git add -i and then forget to use the
    '--index' option. This patch adds code which checks whether the index is clean
    (no changes) before allowing a refresh. In addition, a new option '--force'
    which overrides this check has been added in the cases where these are
    necessary, such as adding new files in a patch.
    
    Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>

commit 979875323bd3fdd43b29b1640a26748bb9ef94bb
Author: Jacob Keller <jacob.e.keller@intel.com>
Date:   Thu Jun 20 15:39:54 2013 -0700

    stg: require python2 rather than generic python executable
    
    This patch fixes an issue with machines which have python3 and python2
    installed. It requires the python2 executable by default in order to prevent
    accidental use of the Python 3 series (which is not compatible.)
    
    Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>

commit 3977d8258ae3d52ce0021a9a9496c09669c1f395
Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Date:   Wed May 29 17:35:30 2013 -0700

    AUTHORS: add PJ to authors file
    
    Simple add of PJ's gmail address.
    
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>

commit e6a6e8ce335846b75ab846e62bfe428a22980f78
Author: Jacob Keller <jacob.e.keller@intel.com>
Date:   Wed May 29 17:31:04 2013 -0700

    mail: don't hardcode space locations in template variables
    
    This patch modifies stgit-mail in order to enable templates to move the ordering
    of PATCH, the prefix, the version, and the number. The issue is due to stgit
    hardcoding a ' ' after the previx, before version and before numbers. This means
    that you can't design a template which re-orders these as it will result in
    incorrect spacing being generated. To this end, introduce %(vspace), %(nspace)
    and %(pspace) which allows a template to move the spacing around and enable
    correct alignment inside a template. This won't change the default behavior (if
    sticking to the standard templates) but enables more ability to customize and
    modify the default behaviors.
    
    Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>

commit 1bcb69c9d04a2c5e03a74431cf311ac0148fff44
Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Date:   Wed May 29 17:27:15 2013 -0700

    templates: fix attach option to create a proper mbox format
    
    There was a bug where the attach option to stg mail was
    not spitting out a patch that can be used by git am, because the patch
    file only contained the diff.
    
    This is derived from the same fix from Jesse Brandeburg for
    the attachinline mbox fix.
    
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>

commit fc5fd3b02752dfec3e91f6e9b90b375e83ea6888
Author: Jesse Brandeburg <jesse.brandeburg@intel.com>
Date:   Wed May 29 17:17:58 2013 -0700

    templates: fix attachinline option to generate proper mbox
    
    There was a bug where the attachinline option to stg mail was
    not spitting out a patch that can be used by git am, because the patch
    file only contained the diff.
    
    This modifies the template to include pretty much the same text in the
    mail as is in the attachment.
    
    Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>

commit f7ce854ca49b61bf8b45c9371bb735d40772a860
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Apr 29 15:18:59 2013 +0100

    mail: Do no filter explicitly added --cc sender address
    
    With this patch, only the automatically generated sender address is
    filtered out. Explicitly added one is kept.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d1dd2342aed2fe274f7c9e9cbe893216d81919dc
Author: Jacob Keller <jacob.e.keller@intel.com>
Date:   Fri Dec 7 13:51:56 2012 -0800

    uncommit: Prevent stack trace for uncommit --to a merge
    
    This patch fixes a bug caused when attempting to stg uncommit --to a merge,
    which stgit is not able to handle. Previously stg uncommit would output a nasty
    stack trace instead of a clean warning message. This was due to checking for
    multiple parents only inside the get_parent function.
    
    The fix is to instead check for parent before appending patch to the list of
    patches. Do this by creating a "check_and_append" function which will be called
    instead of commits.append(n). The bug was present because of the logic for --to
    not calling "get_parent" at the final "to" commit.
    
    Note that the addition of out.done in the exception is to enable slightly better
    formatting of the output message (start it on a new line instead of the previous one)
    
    Reported-by: Matthew Vick <matthew.vick@intel.com>
    Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>

commit bcb2361ab86abb535ac8d3b07df39c42f03c6c48
Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Date:   Tue Aug 28 11:09:19 2012 -0700

    stgit: Add support for attaching patches and sending them inline
    
    Add a new mail command and mail template to send patches both as
    an attachment plus inline in the mail.
    
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>

commit 3faf60c3745a708abad2167e29b8dd8da0e7d7cd
Author: Zane Bitter <zbitter@redhat.com>
Date:   Thu Nov 29 18:06:34 2012 +0100

    Include emacs and vim contribs in source tarball
    
    This will enable downstream distros to package them.
    
    Signed-off-by: Zane Bitter <zbitter@redhat.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 167d00af778fafb732288d66f4be3dce78222cd5
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Tue Apr 24 19:31:13 2012 +0100

    stgit/git.py: Handle a reset that changes files to directories
    
    If reset() takes us from a tree where some path is a file to one
    where it is a directory, then checkout() will replace the file
    with the directory, and we don't want to try to os.remove() the
    path (which would throw an exception because we're trying to
    remove a directory.) This fixes bug https://gna.org/bugs/?15682.
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 27ac3b84aaab17eeb055befe249d235a0eb556b5
Author: Daniel Bergey <bergey@alum.mit.edu>
Date:   Wed Apr 18 12:08:48 2012 +0100

    correct spelling error of accomodate
    
    Signed-off-by: Daniel Bergey <bergey@alum.mit.edu>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 08e6fa9003f4df72e65fec6fa4d5f5ec2bbe6b74
Author: Daniel Bergey <bergey@alum.mit.edu>
Date:   Wed Apr 18 12:07:50 2012 +0100

    correct typo "allows to place"
    
    Signed-off-by: Daniel Bergey <bergey@alum.mit.edu>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 54e9d4fa8ae2c956a77227ed42e851b631e34af6
Author: Daniel Bergey <bergey@alum.mit.edu>
Date:   Wed Apr 18 12:06:59 2012 +0100

    Regexen for macros to create links in html documentation
    
    Signed-off-by: Daniel Bergey <bergey@alum.mit.edu>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 86bed8d7a60cc7fa2821ebc3e6ed31a4e31df28c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Apr 18 11:58:35 2012 +0100

    Fix the 'status --reset' error messages
    
    They should now be 'reset --hard'.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 43cff23310e9ed4ac2171d5a32d753f79a952ce2
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Apr 18 11:55:20 2012 +0100

    Remove setup.cfg
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 4d2357db5d92bbf0370f391f3693899da0c9ed1d
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Tue Apr 10 09:27:40 2012 +0200

    stgit.el: Make stgit-commit commit at most as many patches as are available
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 55deb9290c6bbf8121667028912668d4d3a4570a
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:40 2012 +0200

    stgit.el: Set file names when calling smerge-ediff
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit fc6a66e8c6b77ba7aacd47f5205bb53927ec6949
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:39 2012 +0200

    stgit.el: Handle file names that must be quoted
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 5b2c8ada74be27dab932108c69f08a7436e9c258
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:39 2012 +0200

    stgit.el: Stop stgit-rename from causing error on no change
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 7347eb884eff4321df0b8237f24e9dd44b926e4a
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:37 2012 +0200

    stgit.el: Use truenames when finding an already-existing stgit buffer
    
    This makes stgit run on different paths that resolve to the same
    directory use the same stgit buffer.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 9d9e179fe4f384f6b1661041a223db4047c14572
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:36 2012 +0200

    stgit.el: Fix bug when displaying non-stgit branches
    
    Repairs bug introduced in bf7e391cbf0673575fe73915fd71c0920d0f217a.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 059f8e03b8870ed3732b9b90d9fda532e59a8435
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:33 2012 +0200

    stgit.el: Catch errors in a better way in stgit-init
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit ffeee13eb963c5cf677660406d68404fbebddaf8
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:34 2012 +0200

    stgit.el: Make sure to set major mode in stgit-capture-output
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit aceb7d00cba100e19dde4632f8815d0275982724
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:33 2012 +0200

    stgit.el: Change stgit-capture-output to return what its body returned
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit f46c584ebe5232dbd6c43144e747e01293966c46
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:31 2012 +0200

    stgit.el: Make \C-o create new patch at point
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 0e495dd40f02770c76d1496bb46014dcb9290248
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:26 2012 +0200

    stgit.el: Allow opening specific revisions of files
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit f19eb1feb4ddaa06c8576c079266106a99d8abdf
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:35 2012 +0200

    stgit.el: Fix problems with revert of unmerged files
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 0cc7509bc4e2cb2407b67997c26693a25e195c8c
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:25 2012 +0200

    stgit.el: Allow "U" to delete unknow/ignored files and directories
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 6ed62181f588486af22acd083f2ab7e4eb17a838
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:24 2012 +0200

    stgit.el: Add and use stgit-assert-no-unmerged-changes
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit f282cf8b4e66f64f66672b5856eece0224c41abf
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:23 2012 +0200

    stgit.el: Add and use stgit-save-excursion
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 64b814fac4f76232dae8e95b8b5d0004d92108a4
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:23 2012 +0200

    stgit.el: Make "i" set mark correctly when working on the entire patch
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit ab228bc3b13dbb0cdc256272a54759f041fd8908
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:22 2012 +0200

    stgit.el: Change return value of stgit-goto-patch
    
    Make it possible to distinguish between the case where the patch was
    found but not the file and the case where both were found.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 970a74e83041a162ec84a316d6aedd1e3bb8527b
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:21 2012 +0200

    stgit.el: Refactor: rewrite stgit-define-toggle-view
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit c6a5c1067d48118d67ccb2223fd0356916653fa4
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:21 2012 +0200

    stgit.el: Show human-friendly message when {expand,collaps}ing patches
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 2147794afc289c7176c8f83be371a8d56a84104e
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:20 2012 +0200

    stgit.el: Show human-friendly message when pressing =
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 2c1769c44894906450a3c0724931ef25bab16eb9
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:19 2012 +0200

    stgit.el: Add and use stgit-show-task-message to show messages
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 7246e7069c02c5c347e1fb810696585e99e834f2
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:19 2012 +0200

    stgit.el: Delay buffer reloads when setting customization variables
    
    This prevents reload-spam when doing eval-buffer in stgit.el.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 7e1b5aa648b30422f1a3328a33da100bfbd76063
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Sat Apr 7 21:24:12 2012 +0200

    stgit.el: Make stgit-previous-patch move to the current patch if on a patched file.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 6805d5c71e7863b5a8925dbf4029cb3239c7a7e7
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:38 2012 +0200

    stgit.el: Unexpand all (normal) patches when switching branches
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 724dba9c7f2ba8a0ba585b7d443637211aa56b33
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:37 2012 +0200

    stgit.el: Do not tab complete on current branch for stgit-branch
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit f8c77f23c0c6126839ca1bd36bee5af6f458e8b1
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Sat Apr 7 21:43:10 2012 +0200

    stgit.el: Make stgit-branch ask whether to merge uncommitted changes
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 5cabf6cfb3c543853ba3e87cd88309f3fe3479dd
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Sat Apr 7 21:25:10 2012 +0200

    branch: Add --merge flag when switching branches
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 9a60c57ca3362f5e66646990ae9d8c8f3cd5320a
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Sat Apr 7 21:25:41 2012 +0200

    ignore error return from git show-ref when reading ref cache
    
    This makes stg produce a slightly better error message when run in a
    newly initialized (empty) git tree.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 43f11d852843acde5e0470d28ce98eaa45ee879d
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 6 21:32:00 2012 +0200

    stgit.el: Make "\C-u !" run git even when no patches are selected
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit c6d48857174bf7a4a84166d07dd231e591d935ad
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Feb 15 12:25:09 2012 +0000

    Update the TODO file
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0d85bab3926f6c852d9caca0dfc8ca71d237df71
Author: Junio C Hamano <gitster@pobox.com>
Date:   Wed Feb 15 12:24:56 2012 +0000

    Parse commit object header correctly
    
    To allow parsing the header produced by versions of Git newer than the
    code written to parse it, all commit parsers are expected to skip unknown
    header lines, so that newer types of header lines can be added safely.
    The only three things that are promised are:
    
     (1) the header ends with an empty line (just an LF, not "a blank line"),
     (2) unknown lines can be skipped, and
     (3) a header "field" begins with the field name, followed by a single SP
         followed by the value.
    
    The parser used by StGit, introduced by commit cbe4567 (New StGit core
    infrastructure: repository operations, 2007-12-19), was accidentally a bit
    too loose to lose information, and a bit too strict to raise exception
    when dealing with a line it does not understand.
    
     - It used "strip()" to lose whitespaces from both ends, risking a line
       with only whitespaces to be mistaken as the end of the header.
    
     - It used "k, v = line.split(None, 1)", blindly assuming that all header
       lines (including the ones that the version of StGit may not understand)
       can safely be split without raising an exception, which is not true if
       there is no SP on the line.
    
    This patch changes the parsing logic so that it:
    
     (1) detects end of the hedaer correctly by treating only an empty line as
         such;
     (2) handles multi-line fields (a header line that begins with a single SP
         is appended to the previous line after removing that leading SP but
         retaining the LF between the line and the previous line) correctly;
     (3) splits a line at the first SP to find the field name, but only does
         so when there actually is SP on the line; and
     (4) ignores lines that cannot be understood without barfing.
    
    Updated following comments from Michael Haggerty.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 60c49d0be075292ffadffd21069f23d01a7c5ac1
Author: Stepan Koltsov <stepan.koltsov@jetbrains.com>
Date:   Tue Jan 17 22:51:19 2012 +0400

    stg delete --top
    
    shortcut for: stg delete `stg top`
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 982de08a1bce1c2e600eda7a50155418eecfb95a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jan 9 22:12:54 2012 +0000

    Release 0.16
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 66ab7b2aed14e698f25a2fab5f4ae73eeca060c5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jan 9 22:09:15 2012 +0000

    Add debian/changelog entry for the old 0.15 release
    
    It was missed on the previous release.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3525a7d225ff119fd09f777942c948ab9b635d2d
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Mon Jan 9 21:41:07 2012 +0000

    Fix the tutorial title markup
    
    asciidoc complains about using level 0 section in a non-book document.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit 0cb4a49f1c69c1954e723206a4d992e100b7daef
Author: Norbert Nemec <Norbert@Nemec-online.de>
Date:   Mon Sep 12 10:13:12 2011 +0100

    Correct several transaction/log messages
    
    Signed-off-by: Norbert Nemec <Norbert@Nemec-online.de>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit aa99027f77df6a5890872c02061d492c3a13c74e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Sep 12 10:13:12 2011 +0100

    Replace the 'stg status' command with the 'git status -s' alias
    
    There isn't really any point in keeping another status command. The only
    functionality missing would be 'status --reset' but this was moved to
    the 'reset --hard' command (similar to what Git does).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit bd8778ae3ddf8b1c9d885b9b97aa0ae026bb8ae1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 9 16:58:30 2011 +0100

    Allow 'stg reset --hard' to reset the changes in the worktree
    
    This is similar to the git reset --hard command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b487d68f4dd0372e00bcc44e547162c2a5301cf8
Author: Lu Guanqun <guanqun.lu@gmail.com>
Date:   Sun Aug 28 22:59:08 2011 +0800

    remove obseleted TODO item
    
    This TODO item was done with this commit, so remove it.
    
    c6f366f6b7452e24edf5bff06da8b69c500899a4
    Author: Catalin Marinas <catalin.marinas@gmail.com>
    Date:   Fri Jan 26 22:29:10 2007 +0000
    
        Make the 'series --short' length configurable
    
        The 'shortnr' config option was added so that one can set a different
        length than the default 5.
    
        Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    
    Signed-off-by: Lu Guanqun <guanqun.lu@gmail.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 7b76a9d3b8943d6ce4b7e74ef28e3717d9ac6ed1
Author: Lu Guanqun <guanqun.lu@gmail.com>
Date:   Tue Sep 6 09:45:12 2011 +0800

    add fuzzy patch name lookup support for 'goto' command
    
    With this patch, we can now specify part of a long patch name, and it will try
    to match the correct one.
    
    Signed-off-by: Lu Guanqun <guanqun.lu@gmail.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c6174ba789255e92838a56d75dd2e434a29476d8
Author: Lu Guanqun <guanqun.lu@gmail.com>
Date:   Mon Sep 5 23:33:21 2011 +0800

    add color to series command
    
    The ANSI escape sequence chart is got from http://pypi.python.org/pypi/colorama
    
    The example file is updated as well to show how to specify the colors.
    
    Signed-off-by: Lu Guanqun <guanqun.lu@gmail.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 542bbbfd31b261add7486f3f6b18e6092bfddd02
Author: Lu Guanqun <guanqun.lu@gmail.com>
Date:   Tue Aug 9 09:33:52 2011 +0800

    fix typo in examples/gitconfig
    
    Signed-off-by: Lu Guanqun <guanqun.lu@gmail.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 507b64d49762a88c6c63c052a5196df7a10a7cf8
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Jun 1 08:26:57 2011 +0200

    Don't clear the list of changed patches when we hit a push conflict
    
    This fixes the failing test added in the previous patch. Bug
    discovered by and fixed in collaboration with Dan Härdfeldt.
    
    The offending line was added in
    
      ba52890d Record a single transaction for conflicting push operations
    
    but I can't see why.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 31c3f7c9c8f175fd06fa565ea905be30b57b6e88
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Jun 1 09:16:06 2011 +0200

    Add two tests (one currently failing) for "stg float" causing conflicts
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 8a7085ff4d5b65e5d254b5388df9b8ec9f4f905c
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Jun 1 07:19:17 2011 +0200

    reorder_patches: Comment that a failed push means we never get to the end
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 8d9d47951f0b6519afd4b72df763b21fad1d9d3d
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Jun 1 07:16:52 2011 +0200

    Correct function docstring
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 956ef4a8a5112f8b5ed60e80f990920c884d4e02
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Jun 1 07:07:37 2011 +0200

    Diff several trees at once with git diff-tree --stdin
    
    Instead of spawning a separate diff-tree process for every pair of
    trees we want to diff. This speeds things up slightly: about 10% when
    uncommitting and rebasing 1470 linux-kernel patches (perftest.py
    rebase-newrebase-add-file-linux).
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 622f322b681faa2292883c115980255e280e5231
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Feb 14 17:24:10 2011 +0000

    Remove the assert in CommitData.parse() function
    
    When some unknown key/value pairs are found in the commit data, StGit
    crashes. It looks like this can actually happen with the "encoding:
    latin1" pair.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit cd4aec96b72dda05135696da85b2d6ce7132bcea
Author: Zane Bitter <zane.bitter@alliedtelesis.co.nz>
Date:   Wed Nov 24 04:46:51 2010 +1300

    contrib/vim: Add vim syntax highlighting for StGit commit messages
    
    Signed-off-by: Zane Bitter <zane.bitter@alliedtelesis.co.nz>
    Tested-by: Chris Packham <judge.packham@gmail.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit fa3f66e9cd4a7e0f019f226c37e4ab377269abc3
Author: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Date:   Sun Nov 21 17:57:06 2010 +0200

    StGit: export: fix base commit reporting in series file
    
    This bug was introduced in 3f19450c426970b78b19c522a82df1a962da5761
    It should report the commit stg stack is based on, but not the
    last patch in stack.
    
    Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0e84c57c4a9d3a198caa4ae2da2a6670e57ad917
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Oct 22 16:44:13 2010 +0100

    Add a branch --cleanup option
    
    This has been required for some time. If you need to take a branch out
    of StGit control, use this option (keeps the branch but removes the
    metadata).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2d0f10fb98274e3b3827bf227e42e420f878f1d1
Author: Juergen Wieferink <wieferink@fhi-berlin.mpg.de>
Date:   Fri Oct 22 16:44:13 2010 +0100

    Fix stg repair for hidden patches
    
    Signed-off-by: Juergen Wieferink <wieferink@fhi-berlin.mpg.de>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3f47bf3a0d06007bd9ee2fa2c81bef8761b328a4
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Oct 22 16:44:13 2010 +0100

    Do not truncate the last word when creating patch names
    
    The automatically generated patch names are truncated to
    stgit.namelength but this was truncating the final words.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2034b19ee1787725164e695cffa6d50384ef8cb1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Oct 22 16:44:13 2010 +0100

    Allow uncommitting to a common ancestor
    
    With the --to=<commit> option to uncommit, if the given commit is not in
    the history just try to find the common ancestor and uncommit to that
    point (exclusive range).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 32a4e200ade6693f98cab1118d9088d4049a65c3
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Oct 22 16:44:12 2010 +0100

    get_merge_bases() should return a list rather than set
    
    This is for cases where we need to use one of the elements of the list.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f0b6dda7e20f9ea0d6cf9719bcea3cbc12281a2d
Author: Karl Wiberg <kha@treskal.com>
Date:   Tue Oct 5 11:48:28 2010 +0200

    Read several objects at once with git cat-file --batch
    
    Instead of spawning a separate cat-file process for every blob and
    commit we want to read. This speeds things up slightly: about 6-8%
    when uncommitting and rebasing 1470 linux-kernel patches (perftest.py
    rebase-newrebase-add-file-linux).
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 968057216369b64c22f837a42aab59cb9045d0c3
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Wed Jun 9 10:36:14 2010 +0200

    tutorial: Very minor typo fixes in the Emacs section
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit 548ddfa6ea49a9b9aae8d268915ac1e4592f45bc
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Mon May 24 18:51:33 2010 +0200

    stgit.el: Add stgit-{git,stg}-program variables
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit fefc11a437d0de02f70f261546993c9a775fac4c
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri May 21 14:48:19 2010 +0200

    stgit.el: Rearrange customizations a bit
    
    Move faces to a customization subgroup.
    Sort customization entries in a more user-friendly way.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit 06115546a361308505982c28534f5871e25794cc
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Wed May 19 14:43:12 2010 +0200

    stgit.el: Add "Customize StGit" menu entry
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit 2c2b8ec2bf8797b55e3494c273b9a6ff13ff520d
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Wed May 12 20:27:09 2010 +0200

    stgit.el: Improve how "t h" mode finds old commits
    
    Use 'git log -<N>' to list historical commits. This avoids showing
    more than stgit-committed-count patches (for merges) and does not
    cause an error when running out of history.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit 006cd3e580ae0871ffcf435d724f58535dfa1b48
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Wed May 12 20:14:14 2010 +0200

    stgit.el: Make C-{up,down} move between groups of patches
    
    Also make stgit-{previous,next}-patch behave the same way when moving
    past the first/last patch.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit 6779943525a1cde7dba8a98ea373b5f5461c436e
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Wed May 12 20:14:14 2010 +0200

    stgit.el: Add a few links to some customization variables
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit b4f12bc1acd2892a76e07bbf6ad34b2da1c455b5
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Wed May 12 20:14:14 2010 +0200

    stgit.el: Repair ! for historical commits
    
    Fixes omission in 8f489f41f8ffe6e06254cefc5b352610df06cbeb.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit de8efe1efc4a495eca0614aa9f6c1910d5838f99
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Wed May 12 20:14:13 2010 +0200

    stgit.el: Honor stgit-find-copies-harder in stgit-diff-range
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit a27d0b751522c2a787ec350bd965a6d2c82ea3a7
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Wed May 12 20:14:13 2010 +0200

    stgit.el: Honor stgit-find-copies-harder when showing entire patches
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit 108e5c89c7f9be40eea16387bb5eb14d1836b681
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Wed May 12 20:14:12 2010 +0200

    stgit.el: Fix showing diff in file that has been both copied and modified
    
    Use --diff-filter=C when showing the diff of the copy operation.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit 53055a5601af63a41f68ad68214b8ba4775d4238
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Mon May 24 20:19:55 2010 +0200

    edit: Allow setting git tree of a patch
    
    Also fix capitalization in edit's short description.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 5fd79c5f5aa2ea962162260e88f274983cb1e032
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Mon May 24 20:19:49 2010 +0200

    Repository.rev_parse: support commits, trees, and blobs

commit d8a700cfaa9da3e0fbcba3c5670432ce760b2f06
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat May 15 12:04:35 2010 +0100

    Restore the original applied patches during 'commit'
    
    If committing a patch in the middle of a series, the resulting stack
    doesn't have any patches applied. The trans.pop_patches() function only
    returns the additional patches that had to be popped rather than all
    popped patches. The patch also adds some tests for the 'commit' command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Reported-by: Jeenu Viswambharan <Jeenu.Viswambharan@arm.com>
    Cc: Karl Hasselström <kha@treskal.com>

commit 972d5077631c3bb6641ffefc6f59a6b4d2fbdfdd
Merge: 064161c 15d774a
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed May 5 12:45:07 2010 +0200

    Merge remote branch 'gustav/proposed'
    
    * gustav/proposed: (22 commits)
      stgit.el: Make ! with prefix argument prompt for git command
      stgit.el: Make ! sort patches when building command line
      stgit.el: Add visual feedback (a message) when toggling view flags
      stgit.el: Add stgit-inhibit-messages
      stgit.el: Add support for showing git-svn information
      stgit.el: Remove useless defvars
      stgit.el: Use forward-line instead of goto-line non-interactively
      stgit.el: Make stgit-toggle-* behave as documented
      stgit.el: Make "C-u r" raise error if run with prefix argument without a patch
      stgit.el: Make stgit-reload move point more intuitively when a patch disappears
      stgit.el: Allow showing recent historical (committed) commits as well
      stgit.el: Add stgit-line-format
      stgit.el: Minor improvements of stgit{,-noname}-patch-line-format documentation
      stgit.el: Delay automatic refresh of stgit buffers a bit
      stgit.el: Refresh stgit buffer after dired-delete-file
      stgit.el: Refactor: use mapc to set all local variables in stgit-mode
      stgit.el: Add stgit-default-show-{ignored,unknown}
      stgit.el: Fix so "t u" and "t i" only operate on the current buffer
      stgit.el: Move to goal column after expanding unknown directory
      stgit.el: Ask for branch point when creating new branch
      ...

commit 15d774abedd480f35830f16c4872afd359664103
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Thu Apr 29 17:20:48 2010 +0200

    stgit.el: Make ! with prefix argument prompt for git command
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 8f489f41f8ffe6e06254cefc5b352610df06cbeb
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Thu Apr 29 17:20:45 2010 +0200

    stgit.el: Make ! sort patches when building command line
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit f9533abf9cc6124174d4f401de63153ab7d2bccf
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 23 12:09:31 2010 +0200

    stgit.el: Add visual feedback (a message) when toggling view flags
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 1b47104494b3f0371ece396a00bda59adbd3ffd9
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 23 16:18:34 2010 +0200

    stgit.el: Add stgit-inhibit-messages
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 137b315bc8556b63bcaeff5993a572e8ae048589
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Mon Apr 26 13:26:28 2010 +0200

    stgit.el: Add support for showing git-svn information
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit dacae5a9cbc2d5b8b61d100d0ec5ad08dbf351b4
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Mon Apr 26 13:26:28 2010 +0200

    stgit.el: Remove useless defvars
    
    These defvars are no longer needed as they are defined as buffer-local
    in stgit-mode.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 79473ca5521ec3233dcf83d1c25758cf5eff7386
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Mon Apr 19 16:43:21 2010 +0200

    stgit.el: Use forward-line instead of goto-line non-interactively
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 8a619f5578ba31cd0e6662731d94c2ce67014a7b
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Mon Apr 19 13:55:10 2010 +0200

    stgit.el: Make stgit-toggle-* behave as documented
    
    Add macro stgit-define-toggle-view to implement these functions.
    Repair prefix argument behavior.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit b51a910fafdea01e64a1d41100f831179bf5f5b5
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Sat Apr 17 18:04:15 2010 +0200

    stgit.el: Make "C-u r" raise error if run with prefix argument without a patch
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 2570f6e584712f2f5b133d183319f4f26b55e1fa
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Thu Apr 15 16:36:16 2010 +0200

    stgit.el: Make stgit-reload move point more intuitively when a patch disappears
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit bf7e391cbf0673575fe73915fd71c0920d0f217a
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Sat Apr 17 18:04:49 2010 +0200

    stgit.el: Allow showing recent historical (committed) commits as well
    
    This is controlled with the "t h" command.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 6fdc354699860c63cc7fbab9c25b2b6c874074a8
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Thu Apr 15 17:21:41 2010 +0200

    stgit.el: Add stgit-line-format
    
    This function will be used in the following patch.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit f3dbdbc076ad33ce3aac08600c1b32ed4d27e00d
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Wed Apr 14 14:24:30 2010 +0200

    stgit.el: Minor improvements of stgit{,-noname}-patch-line-format documentation
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 455c9f7e04b11bce7065a8e49aadee16d943719a
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Sun Apr 25 23:18:20 2010 +0200

    stgit.el: Delay automatic refresh of stgit buffers a bit
    
    This prevents multiple consecutive refreshes when several
    refresh-causing operations are done after each other, which happens
    when one does recursive deletes.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit e9a9f3fa7941edc80d356055f7b8d6f5f711c209
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Wed Apr 14 11:19:12 2010 +0200

    stgit.el: Refresh stgit buffer after dired-delete-file
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit a0689e114cdccceedc366e1bfa5be00ad62b2a31
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Tue Apr 13 11:33:15 2010 +0200

    stgit.el: Refactor: use mapc to set all local variables in stgit-mode
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit bc11fb0841e6d41ea7471d8c0f526b111b06b2ef
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Wed Apr 7 16:29:47 2010 +0200

    stgit.el: Add stgit-default-show-{ignored,unknown}
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit d2efc9d501ce5a89562af1d8a788794befb5d59a
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Mon Mar 29 17:27:25 2010 +0200

    stgit.el: Fix so "t u" and "t i" only operate on the current buffer
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 62548eec1a46e229c82b4c793b5120480473ccac
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Mon Mar 29 17:25:17 2010 +0200

    stgit.el: Move to goal column after expanding unknown directory
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 84e1850a7cb61f9afa61eda5fa75ca14f672eadf
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Apr 30 00:20:20 2010 +0200

    stgit.el: Ask for branch point when creating new branch
    
    This makes sure git-config branch.<branch>.parentbranch is set correctly.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 064161c3687ce594842f4187657b6e79b729192e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 29 10:48:16 2010 +0100

    publish: Add '--last' option to show the last published patch
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ce12f5252e41d2931ee4520809a6c0897a7ffc96
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Mar 26 09:18:56 2010 +0000

    Strip leading or trailing '-' when generating patch names
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit eec51c11ce97af48c6d8dc0841afb5e055be8d30
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 25 11:25:45 2010 +0000

    publish: Add the --unpublished options to list not yet published patches
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a4a016302740451baa574f5be40a61bb58e7d48a
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Feb 26 16:54:09 2010 +0100

    stgit.el: Use comint-carriage-motion in output from "!"
    
    This makes carriage return and similar be handled correctly, which is
    important as some git commands use those.
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 25aae9dd9b269983e55ab653fb9a7bb7f46d2315
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Mar 24 15:46:05 2010 +0000

    mail: Add 'snumber' template parameter equivalent to stripped 'number'
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1666c983e2260a60f9f6318a03e8cbb1cd320cba
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 22 16:16:35 2010 +0000

    pick --revert wasn't using the correct author
    
    The author should be the one reverting the patch rather than the creator
    of the reverted commit. The patch also improves the revert message to
    contain the description of the reverted commit.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 7d7210c881f52397e421238528d4368c6a51414b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Mar 9 10:05:58 2010 +0000

    Allow interactive merging via StackTransaction.reorder_patches()
    
    This way other commands like sink and pop can use the interactive
    mergetool.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1b0c0113861681974b8905dbe10a57f6831ecb87
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 12 15:36:37 2010 +0000

    mail: Use space rather than tab for long subject header folding
    
    The default Python implementation (at least 2.5 and earlier) fold long
    e-mail header lines by inserting "\n\t". This causes issues with some
    e-mail clients that remove both "\n\t". The RFC2822 shows that folding
    should be done with "\n ". The Python workaround is to use a Header
    object instead of a string when setting the message headers.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1b6a57ddf3c8f388df84247cb21b49d3dd0e2751
Author: Gustav Hållberg <gustav@gmail.com>
Date:   Fri Feb 26 16:54:09 2010 +0100

    stgit.el: Do not use suppress-keymap for prefix keymaps
    
    Signed-off-by: Gustav Hållberg <gustav@gmail.com>

commit 46e9c9f20e7410c6a8570dfd3dbbb20518dc6b56
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 12 16:34:36 2010 +0000

    mail: Ask for the SMTP credentials before sending the messages
    
    The original implementation was asking for the SMTP password on every
    patch sent. This patch only asks the password once before sending or
    even editing the cover message and patches.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Cc: Pavel Roskin <proski@gnu.org>
    Cc: Alex Chiang <achiang@hp.com>

commit c391c4c17fb67567bad4a28f0010e59378426956
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Feb 10 15:14:27 2010 +0000

    Fix _command_list() function for empty command sets
    
    The alias commands are not real StGit commands and the corresponding set
    (kind) defined in stgit/commands/__init__.py is empty. This leads to a
    KeyError in the _command_list() function. The patch ignores empty sets.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c7506039d0299c093140857b7a617ec6bcdbfc13
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 5 13:45:02 2010 +0000

    Replace some git commands with stg aliases in test scripts
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3ecc9c014b8c7ac00d9f17230dfcff7438df03a9
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 5 13:45:01 2010 +0000

    Add support for command aliases
    
    This patch introduces support StGit command aliases with a few defaults:
    
    stg add		-> git add
    stg rm		-> git rm
    stg mv		-> git mv
    stg resolved	-> git add
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d0329a7785d86495fd02ca595d9cb94fc67cdf4d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 5 13:45:01 2010 +0000

    Populate the cached config options with the defaults
    
    The patch pre-populates the cached config options with the default
    values. It also removes an unused option (stgit.extensions).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 35112e505fff1c37f9261313060c730c47ab47c8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 5 13:45:00 2010 +0000

    Pass the --in-reply-to and --no-thread options to git send-email
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ae5305d2d7c3535e1eeb5e8f7141906d3234f6a9
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 5 13:44:59 2010 +0000

    Rename the mail --refid and --noreply options to match Git
    
    The new option names are --in-reply-to and --no-thread.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ba52890d6274b54c024388e79203f902d55476c7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 5 13:44:59 2010 +0000

    Record a single transaction for conflicting push operations
    
    StGit commands resulting in a conflicting patch pushing record two
    transactions in the log (with one of them being inconsistent with HEAD
    != top). Undoing such operations requires two "stg undo" (possibly with
    --hard) commands which is unintuitive. This patch changes such
    operations to only record one log entry and "stg undo" reverts the stack
    to the state prior to the operation.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Cc: Gustav Hållberg <gustav@virtutech.com>
    Cc: Karl Wiberg <kha@treskal.com>

commit e2a3c618b016f84b9e6fe44e77bb798b2b9c718f
Author: Alex Chiang <achiang@hp.com>
Date:   Fri Feb 5 13:44:58 2010 +0000

    stg mail: don't parse To/Cc/Bcc in --git mode
    
    When using stg mail in --git mode, do not parse command-line To/Cc/Bcc
    addresses.
    
    Instead, we pass them directly to git send-email.
    
    This allows us to leverage git send-email's support for email aliases.
    
    Cc: Karl Wiberg <kha@treskal.com>
    Signed-off-by: Alex Chiang <achiang@hp.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 97ccbbbc20680dec863149e78e44acecaa6d5314
Author: Alex Chiang <achiang@hp.com>
Date:   Fri Feb 5 13:44:57 2010 +0000

    stg mail: add basic support for git send-email
    
    This is the first step in turning stg mail into a wrapper for
    git send-email. It requires passing the --git option to stg mail
    for now.
    
    Only a few basic options are supported for now, namely To/Cc/Bcc.
    
    git send-email options used:
      --suppress-cc=self	prevent further information prompts
      --quiet		reduce git send-email output
    
    Cc: Karl Wiberg <kha@treskal.com>
    Signed-off-by: Alex Chiang <achiang@hp.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c28b8841b551c763abd475ce38f9ca525e29d81b
Author: Alex Chiang <achiang@hp.com>
Date:   Fri Feb 5 13:44:57 2010 +0000

    stg mail: factor out __update_header
    
    Factor __update_header out of __build_address_headers.
    
    Headers like Reply-To, Mail-Reply-To, and Mail-Followup-To are now
    handled in __build_extra_headers.
    
    We make this change because in the future, we do not want to call
    __build_address_headers if using git send-email but we will always
    want to call __build_extra_headers.
    
    Cc: Karl Wiberg <kha@treskal.com>
    Signed-off-by: Alex Chiang <achiang@hp.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 9cb369d43b604b8ac24d8aaf23025da531cca473
Author: Alex Chiang <achiang@hp.com>
Date:   Fri Feb 5 13:44:56 2010 +0000

    stg mail: make __send_message do more
    
    Factor out the common code required to send either a cover mail
    or patch, and implement it in __send_message.
    
    WRY? DRY.
    
    Cc: Karl Wiberg <kha@treskal.com>
    Signed-off-by: Alex Chiang <achiang@hp.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c18d3a36b607c5320e0fc4d97e3cd0a03f3776a4
Author: Alex Chiang <achiang@hp.com>
Date:   Fri Feb 5 13:44:55 2010 +0000

    stg mail: reorder __build_[message|cover] parameters
    
    Reorder the argument lists for both __build_cover and __build_message.
    
    This change will aid readability of a subsequent refactoring patch.
    
    Cc: Karl Wiberg <kha@treskal.com>
    Signed-off-by: Alex Chiang <achiang@hp.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 89d7ec43e0b25cc6cbc9feb044d7ce7048f224eb
Author: Alex Chiang <achiang@hp.com>
Date:   Fri Feb 5 13:44:54 2010 +0000

    stg mail: Refactor __send_message and friends
    
    Instead of passing all the various smtp* args to __send_message
    individually, let's just pass the options list instead.
    
    The main motivation is for future patches. The end goal is to
    thin out stg mail's implementation and make it a minimal wrapper
    around git send-email. By passing the options list to __send_message
    we prepare to pass options directly to git send-email.
    
    As a bonus, this change results in a cleaner internal API.
    
    Finally, it also pushes the smtp logic where it belongs, viz. into
    __send_message_smtp, instead of cluttering up the main body of
    mail.func().
    
    Cc: Karl Wiberg <kha@treskal.com>
    Signed-off-by: Alex Chiang <achiang@hp.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e8faa44b9a8771490b14044bbb99fa2538d0f42e
Author: David Kågedal <david@virtutech.com>
Date:   Wed Feb 3 10:09:58 2010 +0100

    stgit.el: Add the stgit-execute command and bind it to "!"
    
    Signed-off-by: David Kågedal <david@virtutech.com>
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 54239abfc46cde2551435cf1cb777c702b31b2f5
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jan 29 15:48:22 2010 +0100

    improve "usage" strings to include optional "--"
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 69db97142c4c1cd7b574a4d0e53203182955cb37
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jan 29 12:55:44 2010 +0100

    stgit.el: Handle patch and branch names starting with hyphen
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit ea696de91d6b8e99497cf9c67c3385d0709f242c
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jan 29 11:55:50 2010 +0100

    stgit.el: Made a few wide lines more narrow
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 0b71b4dc1acf1770c3bd7796487232feb936c99e
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Jan 25 11:17:58 2010 +0100

    stgit.el: Run "git update-index --refresh" before redrawing work tree status
    
    This prevents unchanged files from showing up as "Modified" in the
    work tree.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit e44674e3d8505c6b3983dacb159d9dcee738d6d0
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jan 22 15:41:41 2010 +0100

    stgit.el: Advise non-stgit git functions to update stgit buffers
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 1d694f9b45e3dfef8916cf3d09e02ab4553f2030
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Thu Jan 14 14:47:12 2010 +0100

    Tutorial: Add stgit.el section
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 9aa61946b4c03610a4ac90b6df391aa2df9b0d36
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Thu Jan 14 14:46:54 2010 +0100

    stgit.el: Prevent stgit-applied-patches from moving point
    
    This stops stgit-diff-range from moving point.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 072e96c5f887e56e2dbd39df6ff586b62c1a6a1a
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Thu Jan 14 14:18:54 2010 +0100

    stgit.el: Annotate stgit-capture-output macro for edebug
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit e02b46e5ea0322466681fab18f62caf5515dbabd
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Jan 13 11:27:12 2010 +0100

    stgit.el: Add command for showing diff for a range of patches
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit c141283257195c58448688b8c22b20c988ae8acb
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Jan 13 11:27:12 2010 +0100

    stgit.el: Optionally allow duplicates when sorting patches
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 015a6dfa9abb62f661e669e7d741d8ae9369f09f
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Jan 13 11:27:12 2010 +0100

    stgit.el: Break out diff whitespace arg handling to separate function
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 2b03ee282071042cb251b5004eda2e8bc8ee20f9
Merge: ddfdced d47ee13
Author: Karl Wiberg <kha@treskal.com>
Date:   Fri Jan 22 14:57:06 2010 +0100

    Merge gustav/proposed
    
      stgit.el: Make "G" work before/after the tree
      stgit.el: Repair how patches with empty descriptions are shown

commit ddfdced94e9921382e8b2e90cb17df4bdb2273dc
Merge: da30db2 085481e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 17 23:31:50 2009 +0000

    Merge branch 'stable'

commit 085481eaeefb88b5cd5e5e2bdac17f2deab57127
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 17 23:31:23 2009 +0000

    Fix "stg applied" usage in contrib/stg-dispatch
    
    This command was replaced by "stg series --applied" but the above shell
    script hasn't been changed. This is a fix for bug #557475.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d47ee133cccaf4c3a188dd3601c2a68747a9231d
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Dec 16 16:57:56 2009 +0100

    stgit.el: Make "G" work before/after the tree

commit 480472153643878c1cd4b8ca37dbfc56fef63ec6
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sun Dec 6 20:30:43 2009 +0100

    stgit.el: Repair how patches with empty descriptions are shown
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit da30db2adfb74c19189b7d9ae7658a0a799a3945
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Dec 4 08:55:03 2009 +0100

    stgit.el: Do not emit trailing whitespace
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit d6e17ce04e5b6e766bec35f7c7e56d1b5139b307
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Dec 4 08:55:03 2009 +0100

    stgit.el: Get default rebase branch from git-config in stg-rebase
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 3e528fb0f9dd58c6e4bcb46ed53c532c9c947f03
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Dec 4 08:55:02 2009 +0100

    stgit.el: Allow "B" to create new branches
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 6c2d4962aa5811c49d5ffa1fbcf4772af94df427
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Dec 4 08:55:02 2009 +0100

    stgit.el: Make stg undo/redo --hard ask for confirmation with dirty index/worktree
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 7f972e9b1e84a63547d97386ec3f1d0f89110e87
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Dec 4 08:55:02 2009 +0100

    stgit.el: Do not recurse into unknown directories after "t u"
    
    Let RET on unexpanded directories expand the directory.
    This is similar to how git-status does it.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 413f9909176ce3d64a868ef76ab8bd3aa53345de
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Dec 4 08:55:02 2009 +0100

    stgit.el: Use "->" for defstruct field accessors
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 277b52af33a2b41db17f9ef02f1fb3f421342899
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Dec 4 08:55:02 2009 +0100

    stgit.el: Disable undo information in stgit output capture buffers
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit aab226cf146c80f8d5acf6dc6284e89834258be1
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Dec 4 08:55:02 2009 +0100

    new: Allow empty messages with --message and --file
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit a0045b8750ffa368be49de692dc309d0a7459eb2
Author: David Kågedal <david@virtutech.com>
Date:   Fri Dec 4 08:55:01 2009 +0100

    stgit.el: Make the patch name optional
    
    Introduce an "alternate" patch line format and make "t n" toggle
    between the two.
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit 43ee50b6b9f99abd4c11915ec87776e745b0df37
Author: David Kågedal <david@virtutech.com>
Date:   Fri Dec 4 08:55:01 2009 +0100

    stgit.el: Use format-spec when formatting file information
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit 0b9ea6b8c230e531546ae67c797bc486605e2e54
Author: David Kågedal <david@virtutech.com>
Date:   Fri Dec 4 08:55:01 2009 +0100

    stgit.el: Use format-spec when formatting patch lines
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit 4ba91e808ffaf70f3ad7ba4f17855a36d6c4b5fe
Author: David Kågedal <david@virtutech.com>
Date:   Fri Dec 4 08:55:01 2009 +0100

    stgit.el: Move defcustom definitions to the top
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit eef399a64b475b335821c2acc94864f37ab54ce9
Merge: b57654e 08a1d35
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 3 22:37:04 2009 +0000

    Merge commit 'kha/safe'

commit b57654e6e7ffd90785f6f689786f9564f6f48eb6
Merge: bbd0c1f 814d59e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 3 22:35:28 2009 +0000

    Merge branch 'stable'

commit 814d59e31b173fe687d26f073a8cc57fd4485c84
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 3 22:35:10 2009 +0000

    Update the tutorial for the conflict situations
    
    This is a fix for bug #14672.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 08a1d356dc02c02f99a6cc6064a5e425bc0b23c6
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Nov 23 10:19:42 2009 +0100

    undo: Add test that "stg undo --hard" leaves the stgit tree in a consistent state
    
    The test currently fails.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit bbd0c1f47a633740ce467e11113c1edf5df52829
Merge: 655a397 0eff9b8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Oct 28 22:05:34 2009 +0000

    Merge branch 'stable'

commit 0eff9b85622b9e80502911431aaab9e8dc4c1bb8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Oct 28 21:06:54 2009 +0000

    Fix setup.py to generate the needed files
    
    StGit was relying on Makefile to generate some files but this breaks
    using setup.py directly for targets like rpm.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 655a39775cad71e4184563c24771306b34b4a470
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Oct 28 12:22:51 2009 +0100

    stgit.el: Position point at beginning of buffer before editing messages
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 09700575b6884f6ed304b19c9b56c1bcb13ec31f
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Oct 28 12:21:28 2009 +0100

    fold/import: Remove requirement on git 1.6.2
    
    Send "-p<N>" flag to "git apply" rather than "-p <N>".
    
    This removes dependency on git 1.6.2, commit:
      f26c494 parse-opt: migrate builtin-apply.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit e1e5f6d7a12e229db51445f6f8aca3ba81595ed7
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Oct 28 12:21:20 2009 +0100

    push/pop: Allow "-n0" to do nothing
    
    Also document what "-n<negative>" does.
    Added some push tests to t1203-pop.sh and renamed it t1208-push-and-pop.sh.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 48d0a85006ac9c58a277391ffdae5560f0a75cbb
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Oct 28 12:21:07 2009 +0100

    stgit.el: Improve help text on stgit-goto
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 737b7d8ea727d6c473be12fc7478df613391da08
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Oct 24 22:45:35 2009 +0100

    Slightly modify the "publish" command description
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b5f9ac877269649808ffa1c392ce5b35e31324f3
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Oct 20 11:00:43 2009 +0100

    Pick --revert option (formerly --reverse)
    
    This patch renames --reverse to --revert and sets the picked patch
    message similar to the "git revert" command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 9ba661f6f88125c177c2bfb33c2ad373adccdc98
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Oct 19 17:14:50 2009 +0100

    The '--file' option for 'new' should show 'FILE' rather than 'MESSAGE'
    
    The patch sets a metavar for this option's definition.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0258440fbcd089efd496f465931a64cb18a2e1ce
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Oct 18 23:29:09 2009 +0100

    Update the RELEASENOTES file with latest changes
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e27cf297f92b3714e89b51f60335dabe4a661f8e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Oct 18 23:04:50 2009 +0100

    Do not use stdout instead of stderr
    
    The MessagePrinter constructor redirects stderr to stdout if the output
    is not a file. This makes it difficult for tools needing to filter the
    error output (like Documentation/Makefile building the COMMANDS
    variable).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a1c48461f23a99e16df27a777f6ae8833fb23365
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Oct 17 22:52:33 2009 +0100

    Ignore the git-config exit code
    
    The stgit.config code dumps a stack trace if git-config returns an error
    (when, for example, there is no ~/.gitconfig file).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a3d0baefbc492bd8aee6d1cb7e992015beb87ea8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Oct 17 22:34:10 2009 +0100

    Do not delete the builtin_version.py file after setup
    
    If setup is run in a directory without .git, setup.py deletes the
    stgit/builtin_version.py file and subsequent commands no longer have a
    version. See bug #14480.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 00be16b0cde8e6c6cf23f0c3e530f85a4d4fbd90
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat May 2 09:42:31 2009 +0200

    Never skip rebase
    
    This is important if we have a custom rebase command (like "git svn
    rebase").
    
    Signed-off-by: Jakob Stoklund Olesen <stoklund@2pi.dk>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6c052b023837579aab6dcb030ffdcea4a88e37ed
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 30 21:52:35 2009 +0100

    Fast-forward the published head when possible
    
    This is to avoid a merge commit when fast-forwarding is possible.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 63bffebacfdc5a87275e53a51b3263c9bddd93f7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 30 21:51:19 2009 +0100

    Delete the hidden patches as well when deleting a branch
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f73aeed63821f211efe8f09ee7285122efee2886
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 30 21:50:14 2009 +0100

    Allow 'stg diff ..<commit>'
    
    If the first part of the range is missing, stgit was not assuming HEAD.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit bb78b348dc213336c3056f982a8fd370bdc6f9d0
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 30 21:47:31 2009 +0100

    Allow importing of 'application/octet-stream' attachments
    
    Some mail clients use this MIME type rather than text/plain.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e929f0ac4e1a306468d9950ffb630c4d241166ea
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 16 14:20:21 2009 +0100

    Autosign imported patches
    
    If stgit.autosign configuration is set, allow the automatic signing of
    the imported patches, similar to the 'new' command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ca5c965190e993a10289758e7cbdc5b9c9f9c31e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 16 14:13:13 2009 +0100

    Add the -p option to fold
    
    This option was added to import, so it makes sense for fold to have it
    as well.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 46cc10370c2dc63640fbd5dbefd9fdf921488098
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 16 14:04:26 2009 +0100

    Do not create an empty patch if import failed without --reject
    
    If the import failed, do not leave an empty patch on the stack. If this
    is required, the --reject option should be passed. The patch also fixes
    a lowercase typo in the --reject option description.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b0bff9328fcd6215093995b93673873016a4bf38
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 16 14:00:34 2009 +0100

    Add the --reject option to fold
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b56d87814e5986a03efa9079d482a5b020141794
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 16 13:59:47 2009 +0100

    Remove the 'fail_dump' argument to git.apply_patch()
    
    Since we have a 'reject' argument, there is no need for the failed diff
    to be dumped.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8bad45199fc55501b9d9636a238d15482f434609
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Sun Sep 13 16:17:53 2009 +0100

    Generate binary diffs by default
    
    This patch modifies the Repository.diff_tree() function to generate
    binary diffs by default. This way commands like 'export' would generate
    patches containing the full information.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit 24a7f944264b452d9528a457bbc898c77f7b17b1
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Sat Sep 12 00:04:07 2009 +0100

    Preserve the given author date during import
    
    The import has two stages - one for creating the initial empty commit
    with the patch description followed by a refresh once the diff was
    successfully applied. The second refresh resets the author date to the
    current one. This patch passes the given author date to the
    refresh_patch function.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit c18842cc149803ab61f716c84c96bf7d61a5c0fc
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Tue Sep 8 22:07:35 2009 +0100

    Add import -p option
    
    This patch renames some of the existing import options and adds the -p
    (--strip) option which allows stripping the leading slashes of the diff
    paths.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit ba5cb156fc92a5dc6160cefa1d65fff46ff1b09f
Merge: ef8871f ce4c86f
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Tue Sep 8 21:41:19 2009 +0100

    Merge commit 'kha/safe'

commit ce4c86fa8d57eb809e291fb87613951414de2b71
Author: David Kågedal <david@virtutech.com>
Date:   Thu Sep 3 18:24:21 2009 +0200

    Escape patch name when creating regexp
    
    Signed-off-by: David Kågedal <david@virtutech.com>
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit ef8871fd6c5a8cc249d0f2cd51e0b8d57e125ed8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 2 18:01:26 2009 +0100

    Import git show output easily
    
    This patch modifies the import command to check for standard 'git show'
    output and parse it accordingly.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5ab0897e67b0203470690a11885b61ca1cb4ab8a
Merge: 8338f88 4c47af7
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Wed Sep 2 09:48:38 2009 +0100

    Merge commit 'kha/safe'

commit 8338f884c48a54c6b3c6be2c760d6b85f15f8206
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Wed Sep 2 09:47:40 2009 +0100

    Add stg-build, stg-dbg and RELEASENOTES to the MANIFEST.in file
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit 4c47af784eb3357a403360e871c6e15a6ca70b39
Author: Karl Wiberg <kha@treskal.com>
Date:   Mon Aug 24 10:28:33 2009 +0200

    squash: Make commit message editing more convenient
    
    Very often, the commit message you want when squashing is the message
    of the first patch. So instead of simply concatenating the messages of
    all the patches, put a comment delimiter after the first one, and
    ignore everything after the delimiter when reading the message back
    in. If the user wants to use any part of the commented-out messages,
    she can move text around however she wants, including deleting the
    comment delimiter.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit d34d6e351e9708f4a5ce519e508abbc418285b5e
Author: Karl Wiberg <kha@treskal.com>
Date:   Mon Aug 24 10:28:33 2009 +0200

    When reading a config value, pick the last value, not the first
    
    When reading the config values, we save all values for a given key in
    a list, in the order we see them. Then, when asked for one value, we
    used to return the _first_ value in the list. But the correct thing to
    do in order to allow local configs (like the repository's .git/config)
    to override global configs (like ~/.gitconfig) is to return the _last_
    value.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 525817dd5783b97dd955a723998fe25cecaf1440
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Fri Aug 21 22:48:53 2009 +0100

    Add the next/prev commands to the RELEASENOTES file
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6a458ad8d2507418f4709c0b25c0d718ba6210a4
Author: Karl Wiberg <kha@virtutech.com>
Date:   Wed Aug 19 22:04:58 2009 +0200

    Tutorial: Use the new StGit repo URL in clone example
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 9777fa365ba62819bd93a50255e3694c03107e0d
Author: Karl Wiberg <kha@virtutech.com>
Date:   Wed Aug 19 22:02:50 2009 +0200

    Documentation: Rename remaining link macros
    
    The link macro rename in 760a7cfc ("Documentation: Rename link
    macros") missed the htmllink and manlink macros, resulting in broken
    links in the docs if built with AsciiDoc 8.2.3 or later. This patch
    renames manlink to linkman, and replaces htmllink with just link
    (which is built-in).
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit c20b20a50d7111ccb2d9cf1624823656a2c0a312
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Aug 19 10:12:06 2009 +0200

    stgit.el: Improve stgit-mode help text slightly
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 7c11b7547f2063327b1a3697df493ad0f707cea3
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Tue Aug 18 14:04:26 2009 +0200

    stgit.el: Allow "P" to operate on all marked files
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 2547179e7fe72ce7ac9a7641fd61ab00aaa205a8
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Tue Aug 18 10:13:47 2009 +0200

    stgit.el: Make sure "M" retains the order of the patches
    
    Fixes bugs in 7cc45294.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit fd64ee5713a2e6618c7f47742b24aa618db53d6f
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Tue Aug 18 14:05:32 2009 +0200

    stgit.el: Consistently use "marked" about marked patches
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit beac0f14532c62ec935556d20df655c8ac8fd750
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Tue Aug 18 14:23:35 2009 +0200

    stgit.el: Add flags to stgit-patches-marked-or-at-point
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit b1c81a9af4d3f1d445ee3cac4fa14dfd370db2b2
Author: Karl Wiberg <kha@virtutech.com>
Date:   Tue Aug 18 01:34:36 2009 +0200

    Release notes: Reformat for better legibility, and update
    
    Note to maintainer: Make sure to verify the URLs and replace the text
    in square backets before sending out!
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit ec29b673aa06bfce4c45e1339deb820f517fbfef
Author: Karl Wiberg <kha@virtutech.com>
Date:   Tue Aug 18 00:38:11 2009 +0200

    Release notes: Turn the 0.15-rc1 release notes into 0.15 release notes
    
    Don't talk about the -rc1 release, because that's already happened. We
    want this to be the 0.15 sharp release notes.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit fd57f3900aadf3ed6e14e41bcc86318182f14545
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Aug 18 00:29:22 2009 +0200

    Add release notes file
    
    The idea is that the release announcement for the upcoming version of
    StGit is prepared here. That way, the work of putting it together and
    polishing it can be shared.
    
    The text added by this patch was taken verbatim from the v0.15-rc1
    announcement that Catalin posted to the git mailing list on July 12,
    2009. The patch adding it to StGit (including this commit message) is
    by Karl Wiberg <kha@treskal.com>.

commit 58f09cf20b44f502fc56d56383461b71b7ae42fd
Merge: 26e3ed6 5038381
Author: Karl Wiberg <kha@treskal.com>
Date:   Mon Aug 17 10:50:42 2009 +0200

    Merge branch 'proposed' of git://github.com/gustavh/stgit
    
    * 'proposed' of git://github.com/gustavh/stgit: (71 commits)
      stgit.el: Add menu bar menu
      stgit.el: Add stgit-toggle-mark
      stgit.el: Verify we're in stgit-mode before running commands
      stgit.el: Allow toggle-index on index and work tree
      stgit.el: Allow revert on index and work tree
      stgit.el: Add +/- to expand/collapse selected patches
      stgit.el: Fix some incorrect indentation
      stgit.el: Add stgit-new-and-refresh command
      stgit.el: Bugfix "P" when point is not on a patch line
      stgit.el: Fix problem where standard-output isn't bound correctly
      stgit.el: Bugfix of stgit-move-patches to top of stack
      stgit.el: Improve use of def{group,custom,face}
      stgit.el: Add C-c C-b for stgit-rebase
      stgit.el: Add better help text for stgit-mode
      stgit.el: Bugfix mode change display
      stgit.el: Minor documentation corrections
      stgit.el: Allow moving ignored files to index
      stgit.el: Move point in sane way after stgit-file-toggle-index on renames
      stgit.el: Move point correctly after stgit-revert-file
      stgit.el: Abbreviate renames/copies with common prefix/suffix
      ...

commit 5038381d0f32d23c03b8535cccee5bbbed85570f
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Aug 14 10:54:05 2009 +0200

    stgit.el: Add menu bar menu
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit d11e0621dad259315ef587ac50aa3f1bd54032e2
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Aug 14 10:54:05 2009 +0200

    stgit.el: Add stgit-toggle-mark
    
    Preparation for upcoming menu bar patch
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 9d04c6572d9cc04761859acbef060d7c9300ff83
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Aug 14 10:54:04 2009 +0200

    stgit.el: Verify we're in stgit-mode before running commands
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit dde3ab4dce079938818285dbe601c07add7e8eca
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Aug 14 10:54:04 2009 +0200

    stgit.el: Allow toggle-index on index and work tree
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 1629f59ff44b517fd0e738aca41d5657d083d842
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Aug 14 10:54:03 2009 +0200

    stgit.el: Allow revert on index and work tree
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit afbf766b8dda1a627fb392c4213d61a69e934323
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Aug 14 10:54:03 2009 +0200

    stgit.el: Add +/- to expand/collapse selected patches
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 6a73154ab0503be48ba19c196be3b9bc90b41004
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sun Aug 16 01:51:12 2009 +0200

    stgit.el: Fix some incorrect indentation
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 2acb711673318c8d9cb9147b0a10de22f53b9fc6
Author: David Kågedal <david@virtutech.com>
Date:   Fri Jul 31 08:33:00 2009 +0200

    stgit.el: Add stgit-new-and-refresh command
    
    This creates a new patch and fills it with the current changes,
    i.e. it is the same as the "N" command followed by "r".
    
    Signed-off-by: David Kågedal <david@virtutech.com>
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 5fd965bb132620ef2a6c319d09c111eef9f9dbcf
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Aug 14 10:45:15 2009 +0200

    stgit.el: Bugfix "P" when point is not on a patch line
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 26e3ed6db5fcab41176816cc9773a73ab3dcaa5a
Author: Hannes Eder <heder@google.com>
Date:   Thu Aug 13 23:28:39 2009 +0100

    Add 'stg prev' and 'stg next'
    
    These commands are related to 'stg top'.  They print the patch below
    resp. above the topmost patch, given that they exist.
    
    Signed-off-by: Hannes Eder <heder@google.com>

commit 641ec5525f935755edee908e43f4e4372cb3b08f
Author: Chris Packham <judge.packham@gmail.com>
Date:   Tue Aug 11 08:50:45 2009 +1200

    Re-send [StGit BUG/PATCH] config.py: fix unset
    
    Missing invocation of .run() so config.unset('blah') didn't do anything.
    Consequently the fact that the next line set the value to 'None' instead of a
    list with 1 element i.e. '[None]' was not noticed.
    
    Signed-off-by: Chris Packham <judge.packham@gmail.com>

commit 465e13d3e3d2d83c0857d9f4613cbdcb5ec37566
Author: Karl Wiberg <kha@treskal.com>
Date:   Thu Aug 13 23:19:24 2009 +0100

    Work around performance bug in subprocess.Popen.communicate()
    
    In Python 2.4 (specifically, I tested with 2.4.6 on Ubuntu 9.04),
    subprocess.Popen.communicate() seems to take time proportional to the
    square of the size of the indata, which makes it ridiculously
    expensive to write stack log entries when the diffs are large. Work
    around the bug by calling subprocess.Popen.stdin.write() manually
    instead of letting communicate() handle the indata.
    
    The performance bug has been fixed in Python 2.6 (I tested with
    2.6.2), so with that version this workaround doesn't affect the run
    time. I haven't tested with Python 2.5.
    
    This fixes bug 13319.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 9a4a9c2c9c5dad509c68716ac8ec043b5604fa91
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jul 31 13:01:47 2009 +0100

    Reverse commit 9876a650 - return the first line from git describe
    
    Also modify the "publish" to strip the output of git describe.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ea3059026c3c2e2fd5fccde38b3cb995b1d2618b
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Aug 12 11:27:11 2009 +0200

    stgit.el: Fix problem where standard-output isn't bound correctly
    
    This fixes errors on M-x eval-buffer in stgit.el.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 980d8cfbb89c12087b3818d827ef991b4f3735e8
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Aug 12 14:00:00 2009 +0200

    stgit.el: Bugfix of stgit-move-patches to top of stack
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit f1bcbe9c1cfdf4b7b93acd1177458ae8b47dfbf0
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sun Aug 9 00:24:45 2009 +0200

    stgit.el: Improve use of def{group,custom,face}
    
     * Reorder calls to defcustom and defface to be more user-friendly
     * Use the :link tag where applicable
     * Add a :set handler to reload all stgit buffers when custom values
       are set
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 380a021f81691d3cf7b8be3ec3980dc3004234df
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 8 20:59:49 2009 +0200

    stgit.el: Add C-c C-b for stgit-rebase
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit fdf5e327a7387673ccec38c9bb1448ba0ccff43e
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 8 21:49:26 2009 +0200

    stgit.el: Add better help text for stgit-mode
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit c30518fdfc22ad9d573f84114910a08ebc0f5dc0
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Aug 7 11:46:19 2009 +0200

    stgit.el: Bugfix mode change display
    
    Fixes 0de6881a "stgit.el: Refactor file list formatting".
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 2d7bcbd95e345957e440ee2cb185433c3c2f9b06
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Aug 5 23:02:03 2009 +0200

    stgit.el: Minor documentation corrections
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit f87c2e22b60b3dade7812e5bfce86b848f2efebc
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Aug 5 22:53:18 2009 +0200

    stgit.el: Allow moving ignored files to index
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 612f999a89100a9017fb165d854598a2af360769
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Aug 5 23:07:46 2009 +0200

    stgit.el: Move point in sane way after stgit-file-toggle-index on renames
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 556345d377bdf04121da35af696a3188889fdadb
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Aug 5 15:18:43 2009 +0200

    stgit.el: Move point correctly after stgit-revert-file
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit ca027a8760f8b3bcc36add30de7e7d4c540a4919
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Aug 5 14:46:24 2009 +0200

    stgit.el: Abbreviate renames/copies with common prefix/suffix
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 807e1273d7c6729ed19ca1394a3f574d80b86b07
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Aug 5 15:21:27 2009 +0200

    stgit.el: Bugfix listing copied/renamed files
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit c4e4756f7fd9e0aeb45b49efb5e8ef85ac6ca565
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Tue Aug 4 18:15:39 2009 +0200

    stgit.el: Default to showing index and work tree
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 4f7efe0ca6f3b8ffe9b44bbbb344f4009b2b6e70
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Tue Aug 4 17:39:13 2009 +0200

    stgit.el: Verify that we're running on Emacs 22 or later
    
    ewoc-create needs to have the NOSEP argument.
    line-number-at-pos doesn't exist in older versions.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit b8463f1d9273127cdc99bbe85b6b7d7322094da7
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Tue Aug 4 15:57:05 2009 +0200

    stgit.el: Add stgit-redo as C-c C-_ and C-c C-/
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 224ef1ec6e53988776b257de48a0b559ef43a8be
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Tue Aug 4 14:39:47 2009 +0200

    stgit.el: Set patch names to be word syntax throughout
    
    This allows easy selection of the patch name; e.g., by double-clicking.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 1aece5c074786fc3f6125577f9bf9671fdb643f5
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Aug 3 17:30:13 2009 +0200

    stgit.el: Ignore space in diff with prefix argument
    
    With one C-u, ignore spaces; with two, ignore all spaces.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit d9b954c7c63180e8a07925608a2c934111138777
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Aug 3 15:35:42 2009 +0200

    stgit.el: Add "d" for a few diff commands, similar to git.el
    
    "b" shows diff against base
    "c" shows combined diff
    "o" shows diff against our version
    "t" shows diff against their version
    
    "m" runs smerge-ediff
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 030f05358167550f18dc754ebccac6e189b9c9ff
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 1 22:04:35 2009 +0200

    stgit.el: Handle unmerged files better
    
    Show unmerged patches with --ours, which works with diff-mode.
    
    Do not show duplicate entries in the work tree for unmerged files.
    
    Open unmerged files with smerge-mode minor mode.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit b6df231c3f10f6e889901e7f28b096ac07624b02
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 1 19:59:31 2009 +0200

    stgit.el: Rename stgit-expand-find-copies-harder to stgit-find-copies-harder
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit e552cb5f27dd23f62bce5b2d63b49759e6f5c68d
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 1 19:32:12 2009 +0200

    stgit.el: Handle negative argument to stgit-{un,}commit
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit a9089e68c3ff8943103a31f044c00cdab51c4674
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 1 16:04:34 2009 +0200

    stgit.el: Move point properly after stgit-{file-toggle-index,reload}
    
    After stgit-file-toggle-index, move mark to the old file, leaving
    point where it is.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit d9473917238ce5d685d2c2b90eb2291938693703
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 1 15:14:36 2009 +0200

    stgit.el: Add "t i/u" for showing files ignored by or unknown to git
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 9153ce3aa1bfabb21e2c1d82180bb4655498b32b
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 17:15:39 2009 +0200

    stgit.el: Refactor: simplify stgit-patch-pp a bit
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 000f337c5e5f293f02b497fb3415f68dc56a3e8c
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 15:59:55 2009 +0200

    stgit.el: Fix face "spilling" in some places
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 0434bec1617461b5897e1f200ede92bd0c568c90
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 15:56:13 2009 +0200

    stgit.el: Refactor: simplify temporary marker handling
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 4f7ff561b78525e5cca8c09b188854c219b8903b
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 13:52:56 2009 +0200

    stgit.el: Allow operating on the end of each line
    
    Extend patch/file properties to the newline at the end of each line,
    allowing stgit-select and similar to take effect with point at the end
    of line.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit da01a29b2585faf94131abd480b3263c0a01e33b
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 13:13:57 2009 +0200

    stgit.el: Document stgit-select properly
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 03fc3b26aee0b216513b2077c6b009f896458ca1
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 10:55:26 2009 +0200

    stgit.el: Garbage collect selected patches on reload
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 6467d9763c390a8c6e47edc9a0ec36504018d5a9
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 00:58:01 2009 +0200

    stgit.el: Default to expanding index and work tree
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 8f702de47f92d013219335f413d4bcb23b87485b
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 1 22:46:24 2009 +0200

    stgit.el: Make it configurable where to show index and work tree
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 46a273fd65a7519733547a49fec8dee9253ed84f
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 00:58:00 2009 +0200

    stgit.el: Add customizable face for "Index" and "Work tree" titles
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 64ada6f56d597e2fceed3333414d8d1cf891edc5
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 10:54:14 2009 +0200

    stgit.el: Forbid stgit-{delete,edit,mark,rename} on index and work tree
    
    Signed-off-by: Gustav Hållberg <gustav+stgit@gmail.com>

commit 027e137019a92a400f361df829695cc488f2dfd3
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 00:57:59 2009 +0200

    stgit.el: Open the destination file on applied renames or copies
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 4713c50e60ea0a840d49f0aa32f7334f3209a76b
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 00:57:58 2009 +0200

    stgit.el: Allow showing patch on Index and Work tree
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 7567401c9f2bb926f0361d7138a3dfed48b184ac
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 00:57:58 2009 +0200

    stgit.el: Refactor: add stgit-find-copies-harder-diff-arg helper function
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 36a4eacd06b048f04432b8a4d0e36ad478b4ac24
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 00:57:57 2009 +0200

    stgit.el: Refresh from work tree when index is empty
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 51783171059194286d2baaae3298d8d628a599b0
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 00:57:57 2009 +0200

    stgit.el: Add "R" for stgit-resolve-file
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 408fa7cbdbf88632a7a59b5207e7f564380ed2a6
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 00:57:57 2009 +0200

    stgit.el: Change key binding for stgit-repair from "R" to "\C-u g"
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 3959a095fd98045de016b7261f5688e55f669070
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 00:57:57 2009 +0200

    stgit.el: Add "U" for stgit-revert-file
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit e9fdd4eaa74c2f785817278c784ca3b748f79767
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 00:57:56 2009 +0200

    stgit.el: Move stgit-{un,}commit to \C-c\C-{u,c}
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 4f292066ed7c78519d273b467c1e91000e287445
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Aug 3 14:43:58 2009 +0200

    stgit.el: Add stgit-branch-name-face
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit af734f49ec94f8a98e56f173bfa3640d0bdeffa0
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Jul 31 11:26:22 2009 +0200

    stgit new: Do not open editor if --save-template was specified
    
    Fixes side-effect of e58f264a "Add support for merge-friendly
    branches".
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 2ecb05c84f3cb3944c0187441e6f33fbf20ab748
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 1 22:56:48 2009 +0200

    stgit.el: Make stgit-{index,worktree}-node buffer local
    
    Fixes bugs when multiple stgit buffers have been opened.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 306b37a63112bf26cac29474116490376537f04f
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 1 23:07:43 2009 +0200

    stgit.el: Bugfix moving symlinks to/from index
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 5115dea02ba6a90485f2a0d7b77e90a01f0d00a5
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 1 23:21:13 2009 +0200

    stgit.el: Run "git rm" with "-q" to reduce spam
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit fd9fe574300d88c34a22d5bb7b4c31106b777b03
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 1 23:16:13 2009 +0200

    stgit.el: Refactor: remove unused argument to two functions
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 08f8447da694e01d6092f8b376c11ccf1e4a2630
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Aug 3 14:55:41 2009 +0200

    stgit.el: Remove unused variable stgit-work-ewoc
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 88134ff704593d7f7214c5c80c78450134367983
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sat Aug 1 21:31:04 2009 +0200

    stgit.el: Correct documentation for stgit-insert-patch-files
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 9876a650b27c7e3d4c4d14f48b8bb9112ac4c88c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jul 31 13:01:47 2009 +0100

    Only get the first line from 'git describe --all'
    
    The Repository.describe() function is used by the 'publish' command. We
    only need the first line of the description for the commit message
    rather than the raw output (which contains a new line).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit efef7effe1ff66cd577cb295a02fd86769335c47
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Fri Jul 31 10:20:08 2009 +0100

    Improve the description/diff splitting when parsing patches
    
    Some patches don't have any of the separations already in use like ---,
    diff - or Index. So look for the first "--- */" line.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit 210a2a52e4ba8ea095bcad3917a1b7c6d9413b92
Author: David Kågedal <david@virtutech.com>
Date:   Wed Jul 29 12:05:22 2009 +0200

    stgit.el: Only refresh the relevant parts when the index or worktree changes
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit ce3b6130ae157ac6280729cdae700a9495a8babd
Author: David Kågedal <david@virtutech.com>
Date:   Tue Jul 28 00:09:46 2009 +0200

    stgit.el: Add stgit-toggle-worktree to toggle visibility of index and working tree
    
    Based on a similar set of patches by Gustav Hållberg.
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit 37cb5766267f6bca518dee62eaa95556303a5fbd
Author: David Kågedal <david@virtutech.com>
Date:   Thu Jul 30 16:54:50 2009 +0200

    stgit.el: Add the stgit-file-toggle-index command
    
    Based on a patch from Gustav Hållberg.
    
    Signed-off-by: David Kågedal <david@virtutech.com>
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit b894e68096692a391421d7ab4ba2e4d9f382c01e
Author: David Kågedal <david@virtutech.com>
Date:   Wed Jul 29 16:53:41 2009 +0200

    stgit.el: Add work tree and index as pseudo-patches
    
    Based on a similar patch by Gustav Hållberg.
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit 3164eec6216006fa61f0ad0c12d57d6a90da85c3
Author: David Kågedal <david@virtutech.com>
Date:   Thu Jul 30 17:12:08 2009 +0200

    stgit.el: Use ewoc to keep track of the file list.
    
    Signed-off-by: David Kågedal <david@virtutech.com>
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 0de6881a877d215f02a0c1be4c79168f26cf1d3c
Author: David Kågedal <david@virtutech.com>
Date:   Mon Jul 27 17:49:10 2009 +0200

    stgit.el: Refactor file list formatting
    
    Define a struct to contain the information about a file and break out
    the file list formatting to a separate function.
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit f9b82d36fc1d00496e44c7f3db74f4693c778563
Author: David Kågedal <david@virtutech.com>
Date:   Mon Jul 27 17:26:47 2009 +0200

    stgit.el: Get rid of the stgit-patchsym property
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit 8036afdd59468ace8110891047680f1d4622738a
Author: David Kågedal <david@virtutech.com>
Date:   Sat May 23 01:09:32 2009 +0200

    stgit.el: Invalidate ewoc node when marking or unmarking instead of modifying buffer directly
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit 98230edd817bc40419520433a30807474581bebc
Author: David Kågedal <david@virtutech.com>
Date:   Thu Jul 30 15:51:09 2009 +0200

    stgit.el: Use ewoc to keep track of the patch list.
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit 2c862b078e6b965a72b2411d8ee3673846987dee
Author: David Kågedal <david@virtutech.com>
Date:   Sat May 23 01:09:31 2009 +0200

    stgit.el: Use a defstruct to store patch data
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit 50d88c672d3a540330450fcc8cc87ccc7d44c829
Author: David Kågedal <david@virtutech.com>
Date:   Thu Jul 30 17:02:38 2009 +0200

    stgit.el: Use an 'entry-type text property
    
    It indicates whether there is a patch or a file on a line.
    
    Signed-off-by: David Kågedal <david@virtutech.com>
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>

commit 6c82670d2b729cf1b491241044d9bab58b572597
Author: David Kågedal <david@virtutech.com>
Date:   Sat May 23 01:09:30 2009 +0200

    stgit.el: Rename stgit-toggle-patch-file-list to stgit-select-patch
    
    Signed-off-by: David Kågedal <david@virtutech.com>

commit 735cb7ec0baa1c1b9a5c2a875e0026e4f8d91d11
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Mon Jul 27 16:27:47 2009 +0200

    stgit.el: Remove the unused allow-file parameter to stgit-patch-at-point

commit d8846ff468b71be414ef40d17b16cb18773b3c21
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Mon Jul 20 10:16:22 2009 +0100

    Handle multi-line Subject header better
    
    It looks like not all multi-line Subject headers are split with \n\t.
    This is causing an exception with the re.findall() calll in
    stgit.commands.common.parse_mail() function. Use re.sub() instead of
    replace().
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit 06e17aa6f11f598a7cb802d5516e56708996c870
Merge: cef5deb 533d85c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jul 17 14:05:23 2009 +0100

    Merge commit 'kha/safe'

commit cef5deb44e9b2ac2f9f63c4abc2d1bb20e1cb1d1
Author: Hannes Eder <heder@google.com>
Date:   Fri Jul 17 11:58:53 2009 +0100

    fix "stg float -s FILE" for FILE != "-"
    
    The commit:
    
      commit 5a1bab1ad60688471e100e310c58c7e60d18cd80
      Author: Catalin Marinas <catalin.marinas@arm.com>
      Date:   Thu Apr 9 23:40:59 2009 +0300
    
          Convert "float" to the lib infrastructure
    
    introduces a bug in "stg float -s FILE" when FILE is not equal to "-".
    This patches fixes this issue.
    
    Signed-off-by: Hannes Eder <heder@google.com>

commit 4a8e79dc3b13208701ca41ac5cfc15bb270238cd
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Fri Jul 17 11:57:20 2009 +0100

    Fix the import --url command
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit 533d85c2f663a7e89816b23c627a118866ab00fb
Author: Karl Wiberg <kha@treskal.com>
Date:   Wed Jul 15 11:25:53 2009 +0200

    t2800: Adapt to changes in git's conflict markers
    
    The conflict markers used by git were changed slightly by commit
    606475f3 ("Remove filename from conflict markers"); specifically, the
    conflict markers contain the filename only when the filename has
    changed.
    
    This patch adapts t2800 to allow either the new or the old format.
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit e6bca570feaf606dc80a53c9932ec4dca1076784
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Mon Jul 13 23:06:07 2009 +0100

    Set the LESS environment if the pager is 'less'
    
    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>

commit b4f67189be1f267aa6bcb05d442f6e7c5cf6697f
Merge: 5c365a2 0a4cd54
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jul 13 17:58:02 2009 +0100

    Merge commit 'kha/safe'

commit 0a4cd541df13f97e88ecdc6c7c5f571b4deba4c3
Author: Karl Wiberg <kha@virtutech.com>
Date:   Mon Jul 13 15:06:25 2009 +0200

    Karl got married
    
    Signed-off-by: Karl Wiberg <kha@treskal.com>

commit 5c365a2ba60dc0debfeefdb50be232c1166ae939
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Sun Jul 12 22:49:31 2009 +0100

    Do not replace '-' with '.' in the version string
    
    This prevents version strings like 0.15-rc1.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 94baef5a2809907832aa39dc0a4896b3be08c836
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sun Jul 12 19:05:33 2009 +0200

    stgit.el: Use declare to hint the debugger and indentation
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 88753c5ab98e28b98e2fa1870517c3de1ebf68f1
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Sun Jul 12 09:15:30 2009 +0100

    Add --stat option to show
    
    This option allows showing of diffstat instead of patch diffs. Proposal
    and initial implementation by Alex Chiang.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Tested-by: Alex Chiang <achiang@hp.com>

commit c9379a15770a699c0d64ae0897ea1a8e235a2c71
Author: Alex Chiang <achiang@hp.com>
Date:   Fri Jul 10 10:32:06 2009 +0100

    fix stg mail %(shortlog)s order
    
    When using the %(shortlog)s variable, the patches are listed in
    the cover letter in the reverse order of the actual patch series.
    
    We should list them in the actual order of the patch series instead.
    
    Signed-off-by: Alex Chiang <achiang@hp.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit fc8dcca7ba2b43e4ed799ae4246732511bf2bd55
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Fri Jul 10 10:28:53 2009 +0100

    Add --reject option to import
    
    This allows a failed import to leave .rej files in the working
    directory.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit eb0c552fcf901df47f83b1e63c37d80c107e07ab
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Wed Jun 24 17:10:57 2009 +0100

    Rename out.start() to out.inf() in the publish command
    
    There was no corresponding out.done() call.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit df6e6d0c05d2d046bbe49ab949d4cff9ef17dec5
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Fri Jun 12 12:47:06 2009 +0100

    Only allow publishing to refs/heads/*
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit 111251132edff92d1681d915af0d060af35250d2
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Thu Jun 11 12:07:54 2009 +0100

    Improve the "publish" merge message to give slightly more information
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit 9ab06b9858bbb0196867506724a8d74c8f39e113
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Sat May 30 13:13:26 2009 +0100

    Remove the resolved command
    
    This command simply duplicates the "git add" or "git mergetool" commands
    for handling conflicts.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit afddd62b52567fc1834e658b968f5a62334ea63c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat May 30 13:13:26 2009 +0100

    Use the default git colouring scheme rather than specific scripts
    
    This patch adds the mechanism to check if the output is tty for the
    diff and show commands and passes the --color option to git if the
    color.diff config option is set auto or true. The patch also changes the
    default pager to 'less -FRSX' from the diffcol.sh script.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5660771ca427fedb50cb3607e6b76c299d5d5fa3
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Sat May 30 13:13:25 2009 +0100

    Add "stg id" support for "{public}" ref
    
    The {public} ref refers to the public version of the branch as described
    in the "publish" command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

commit e58f264a3e59a0887c7aaa1e3227cff108ac840d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat May 30 13:13:25 2009 +0100

    Add support for merge-friendly branches
    
    The main issue with publishing StGit branches is that the Git history
    represented by patches is volatile, making it difficult for people
    wanting to merge such branch. One solution is for all the downstream
    developers to always rebase but that's not always desirable. Another
    solution is provided by tools like TopGit but the visible Git history
    becomes complicated, especially with repeated reordering.
    
    The patch proposes a new StGit command called "publish". This command
    allows one to develop patches normally on a StGit branch but publish the
    stack changes to a separate, merge-friendly branch whose history is not
    re-writable.
    
    More about its behaviour can be found in the command description in this
    patch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ba6208ec9f272605607d53db6ea2942b246819e6
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri May 29 22:33:50 2009 +0100

    Pass "git config" flags in the right order
    
    New enough gits accept the --null and --list flags in any order, but
    older gits want --null before --list. So do it the way that's fine
    with everyone.
    
    I think (but haven't verified) that git started to accept the flags in
    any order after commit d64ec16c2af4ddcf3985d11d5dc28a15db181de5 ("git
    config: reorganize to use parseopt") by Felipe Contreras on
    2009-02-21, first released in git v1.6.3.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 051704b13e615b489f8d4e45ebf2b0488b41522b
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Fri May 22 22:38:12 2009 +0200

    Add a --set-tree flag to stg push
    
    This flag makes the push simply restore the tree that the patch used
    before, rather than doing any kind of merge.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a264e49b1c1c62950f442df07863d3cf92db8684
Author: Samuel Tardieu <sam@rfc1149.net>
Date:   Fri May 22 22:38:11 2009 +0200

    Load the whole config at once and cache it for future use
    
    Instead of loading the config values one at at time when we need then,
    read and parse the configuration files all at once using
    
      git config --list --null
    
    and cache the result. This should be a performance win.
    
    Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f4893b17323f7d6a62790f38e4929f9ea75e42e4
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri May 22 22:35:25 2009 +0200

    Transaction.push_patch(): Set self.head only when we have a merge conflict
    
    Setting self.head when we don't have a merge conflict is a harmless
    no-op---as long as we set it to the commit that was going to be the
    stack top anyway---so this patch should not change the behavior. But
    it's not really nice to do it unconditionally, especially considering
    that we want people to be able to understand what the code does ...
    
    Also add a comment that explains why we set it, since the logic is
    rather more hairy than I'd like.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 3a5a54ec47182d6b7a1f9c681a090e097b7a6751
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri May 22 09:53:39 2009 +0100

    Add the log --clear option
    
    This option allows the clearing of the log history which sometimes may
    get too large.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d11f4f2ab1c7823c214eec0335e50b89b42f0d3e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri May 22 09:53:38 2009 +0100

    Reinstate the --annotate option for refresh
    
    It is sometimes useful to add some notes to the log entry when a patch
    was refreshed. This option was dropped when the command was updated to
    the new infrastructure as there was no logging support at that time.
    
    The note will be visible with 'stg log {-g,-f}'
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f421375c46f3d05e43779e555044d0d510f16f44
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri May 22 09:53:38 2009 +0100

    Convert 'unhide' to the lib infrastructure
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c9ab41627c4c2f4bc745f37f6f57adb06df402e4
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri May 22 09:53:38 2009 +0100

    Convert 'hide' to the lib infrastructure
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 78b90cedb2b868eeed63de3d0b21d1f9059930d8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri May 22 09:53:37 2009 +0100

    Convert 'clone' to the use stgit.lib
    
    The patch also adds the stgit.lib.git.clone() function.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 4a545fa1dd24bf0e23477b5e8afd2c5500bfe600
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri May 22 09:53:37 2009 +0100

    Do not sleep after the last patch sent by e-mail
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3b52f6dae6366e12b71a68dd6d0cdee84a89519d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri May 22 09:53:36 2009 +0100

    Show some progress information when checking for upstream merges.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit dcf646ca73523781c1677190f69a30854c6241ff
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri May 22 09:53:36 2009 +0100

    Show "Pushing <patch>...done" when pushing a patch
    
    My main reason is for the automatic invocation of the interactive merge
    when I don't know what patch I have to deal with. The other reasons is
    for people working over slow filesystems (NFS) where a three-way merging
    may take a significant amount of time.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 58f72f169cc817897ef74eb1298261c5faa23d1f
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Apr 17 03:15:19 2009 +0200

    stgit.el: Bind line movement keys in a sane way
    
    Use p/n for stgit-{previous,next}-patch and C-p/n and up/down for
    stgit-{previous,next}-line, which makes stgit-mode behave more like
    dired-mode and git-mode.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a66b90722c0924f1bba120d268c8a1afa3a89868
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Apr 17 03:02:11 2009 +0200

    Newer gits return 128 when git config --{rename,remove}-section fails
    
    As of commit d64ec16c ("git config: reorganize to use parseopt"), git
    config --rename-section and --remove-section will now call die()
    instead of exit(1) when the section to be renamed or removed doesn't
    exist, and die() calls exit(128). So we have to catch exit code 128 as
    well.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f979802d6f279b9d8018271f6766aa68b27b7782
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Thu Apr 9 23:41:00 2009 +0300

    Convert "push" to the lib infrastructure
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit 1056440bd7cede989a1dd414845b035995ef7a68
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Thu Apr 9 23:40:59 2009 +0300

    Convert "pop" to the lib infrastructure
    
    The test files have to be adapted because of a slightly different way of
    recording a "push" operation with the new infrastructure. The original
    code was recording two transactions for a "push <patch>" - one for
    reordering the unapplied patches and another for pushing the patch. One
    would need two "undo" operations to restore the state prior to a "push".
    The new infrastructure only records one transaction for "push" and only
    one "undo" is necessary.
    
    Since a "pop <middle patch>" operation involves popping the patches and
    pushing one, with the above changes in the "push" implementation it
    means that the patch order the test scripts expect is slightly
    different.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit b4d91eee615444de17cac635f0fc7ce1391ddad3
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Thu Apr 9 23:40:59 2009 +0300

    Add the --merged option to goto
    
    This patch adds support for checking which patches were already merged
    upstream. This checking is done by trying to reverse-apply the patches
    in the index before pushing them onto the stack.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit d44708ef52f10a22ca3c87ff3c92bdd911bca672
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Thu Apr 9 23:40:59 2009 +0300

    Use a default "hidden" argument in StackTransaction.reorder_patches
    
    This argument is rarely used so adding a default value simplifies the
    calling code.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit 5a1bab1ad60688471e100e310c58c7e60d18cd80
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Thu Apr 9 23:40:59 2009 +0300

    Convert "float" to the lib infrastructure
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit 54ab5bded4ada13a87f108802fb3f68b5e4e3440
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Thu Apr 9 23:40:59 2009 +0300

    Convert "sink" to the new infrastructure
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit 1de97e5f5e62a46d69515052a860138e417f149b
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Thu Apr 9 23:40:59 2009 +0300

    Add automatic git-mergetool invocation to the new infrastructure
    
    This patch adds the IndexAndWorktree.mergetool() function responsible
    for calling 'git mergetool' to interactively solve conflicts. The
    function may also be called from IndexAndWorktree.merge() if the
    standard 'git merge-recursive' fails and 'interactive == True'. The
    'allow_interactive' parameter is passed to Transaction.push_patch() from
    the functions allowing interactive merging.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit b993d23f49af71ded6b0eaeb19ccf25b6bec4432
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Thu Apr 9 23:40:58 2009 +0300

    Add mergetool support to the classic StGit infrastructure
    
    Since Git already has a tool for interactively solving conflicts which
    is highly customisable, there is no need to duplicate this feature via
    the i3merge and i2merge configuration options. The user-visible change
    is that now mergetool is invoked rather than the previously customised
    interactive merging tool.
    
    The stgit.keeporig option is no longer available to be more consistent
    with the Git behaviour.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit ee11a2896d0815d1530c5dc2a7e4719409b7833f
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Thu Apr 9 23:40:58 2009 +0300

    Check for local changes with "goto"
    
    This is done by default, unless the --keep option is passed, for
    consistency with the "pop" command. The index is checked in the
    Transaction.run() function so that other commands could benefit from
    this feature (off by default).
    
    This behaviour can be overridden by setting the stgit.autokeep option.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit 32d7545de276f1004db22db07b46865b5c27b14c
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Mar 13 05:21:52 2009 +0100

    stgit.el: Handle errors in first phase of stgit squash
    
    Make sure to reload stgit buffer after first phase, and signal an
    error if stg squash --save-template fails.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 693d179b751baf58cb52e34a3d51e80aa73e6959
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Mar 13 05:15:37 2009 +0100

    stgit.el: Sort patches correctly before merging them in stgit-squash
    
    Also document stgit-squash more accurately.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 95369f6c7bc9169529d2a46ae9cfe0a587d967ae
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Mar 13 05:09:16 2009 +0100

    stgit.el: Break out stgit-sort-patches to a separate function for future reuse
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 68048d11396ac8ff09d96a5e1e4d1dee2c27f47a
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Mar 13 05:02:59 2009 +0100

    stgit.el: Run 'git show' with -M to detect renames when showing entire patch
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 7cc45294865ddc8ac6c3a1af15a71be6be9965a4
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Mar 13 04:56:43 2009 +0100

    stgit.el: Add "M" for stgit-move-patches
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e558a4abe4756f98845f1b8443b8730f816bd4e3
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Mar 13 04:50:27 2009 +0100

    stgit.el: Clarify documentation of stgit-capture-output
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 980ccd21077134fa02716115cb457f6954b3cc42
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Fri Mar 13 04:44:13 2009 +0100

    stgit.el: Manually draw/erase the mark in stgit-{add,remove}-mark
    
    This significantly reduces the time stgit-mark and similar takes.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 760a7cfc29f0645056b04e4d6f7c63cb46b4d384
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Mar 13 04:14:42 2009 +0100

    Documentation: Rename link macros
    
    They can no longer end with "link", as explained in commit 5162e697 by
    Dan McGee <dpmcgee@gmail.com> in the git repository:
    
        Documentation: rename gitlink macro to linkgit
    
        Between AsciiDoc 8.2.2 and 8.2.3, the following change was made to the stock
        Asciidoc configuration:
    
        @@ -149,7 +153,10 @@
         # Inline macros.
         # Backslash prefix required for escape processing.
         # (?s) re flag for line spanning.
        -(?su)[\\]?(?P<name>\w(\w|-)*?):(?P<target>\S*?)(\[(?P<attrlist>.*?)\])=
        +
        +# Explicit so they can be nested.
        +(?su)[\\]?(?P<name>(http|https|ftp|file|mailto|callto|image|link)):(?P<target>\S*?)(\[(?P<attrlist>.*?)\])=
        +
         # Anchor: [[[id]]]. Bibliographic anchor.
         (?su)[\\]?\[\[\[(?P<attrlist>[\w][\w-]*?)\]\]\]=anchor3
         # Anchor: [[id,xreflabel]]
    
        This default regex now matches explicit values, and unfortunately in this
        case gitlink was being matched by just 'link', causing the wrong inline
        macro template to be applied. By renaming the macro, we can avoid being
        matched by the wrong regex.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5be197e92f347cd5ffac84442daa030262c6ffbe
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Mar 13 04:10:59 2009 +0100

    Documentation: Ignore generated .xml files
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0d1d5574390c461e9ed2db52cb32fa7962ecce42
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Mar 13 03:57:20 2009 +0100

    stg squash: Improve documentation
    
    In particular, mention how the order of the given patches matter, and
    exactly what happens in case of conflict.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 594aa463c1852f77b89bdce853da4e7052d7cdd2
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Feb 26 21:13:37 2009 +0100

    Rename "stg coalesce" to "stg squash"
    
    "squash" is the word git uses for this operation, so we should use it
    too to lessen the confusion. Also, it's easier to spell.
    
    We can do the rename without any effort at backwards compatibility
    because "stg coalesce" has never been part of any released version.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit adeef6bc6f43fbccb1a046e00f57c559ee363737
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Thu Feb 26 20:59:07 2009 +0100

    stgit.el: Add "B" for stgit-branch
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit acc5652f1f94c454f5b0a8e8dd920e55387e7f7e
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Thu Feb 26 20:59:07 2009 +0100

    stgit.el: Expand or collapse only the patch at point, instead of rerunning stg-reload.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9008e45b6a5573ae35f151dcfc16af8971b94b55
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Thu Feb 26 20:59:07 2009 +0100

    stgit.el: make stgit-delete with prefix argument spill patch contents to index
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0584ad1dfd6c3df0f009e36f189e4391f9355b4c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jan 28 23:08:13 2009 +0000

    Add --file option to pick
    
    This allows folding of specific files only.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit baf8241d1b7835ba31125d2b75683601ee2b0403
Merge: e799c7f 641d287
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jan 28 23:07:37 2009 +0000

    Merge branch 'stable'
    
    Conflicts:
    	stgit/commands/files.py
    	stgit/commands/mail.py
    	stgit/git.py

commit 641d287da88f80171cce28d14fa06f139e40c177
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jan 28 23:01:24 2009 +0000

    Pass the diff flags when statistics are required
    
    The --diff-opts were not passed to git.diff() calls when the statistics
    were required for the mail and files commands.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e799c7fa7f55b27d78f5bccdddb86f78260bf955
Author: Ted Pavlic <ted@tedpavlic.com>
Date:   Mon Jan 19 19:46:13 2009 -0500

    Make bash completion fail to bashdefault before default completion.
    
    If "-o bashdefault" isn't possible, use old "-o default" only.
    
    (this patch inspired by similar mechanism in Mercurial bash completion
    script)
    
    Signed-off-by: Ted Pavlic <ted@tedpavlic.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e22e6f480424f733fd910d96b0fcbfeee4520f69
Author: Ted Pavlic <ted@tedpavlic.com>
Date:   Mon Jan 19 19:46:12 2009 -0500

    Modify bash completion to support help, version, and copyright.
    
    "stg <tab>" lists all commands, including "help", "version", and
    "copyright".
    
    "stg he<tab>" completes "stg help "
    "stg ver<tab>" completes "stg version "
    "stg copy<tab>" completes "stg copyright "
    
    "stg help <tab>" lists all commands /other than/ help, version, and
    copyright.
    
    "stg version <tab>" goes directly to shell completion.
    "stg copyright <tab>" goes directly to shell completion.
    
    Signed-off-by: Ted Pavlic <ted@tedpavlic.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 41c1c59c50e84717e44bb41d6c058f31b848e38b
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Jan 12 21:20:14 2009 +0100

    stgit.el: Add optional count argument to stgit-commit
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e7231e4f2ac4b73b6ae14762cf82a24aaa12d8f8
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Jan 12 21:20:14 2009 +0100

    stgit.el: Minor beautification
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit bce79a6aa39e4d135b675131f68e6bbd12433e4a
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Jan 12 21:20:13 2009 +0100

    stgit.el: Indicate empty patches
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 3a1cf8148f79dfc3734fdc427a18e12f08bb9af5
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Jan 12 21:20:13 2009 +0100

    stgit.el: Add message when there are no patches in the series
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit b557489fdb12b3c0228a10fa4412cd69d515b4c8
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Jan 12 21:20:13 2009 +0100

    stgit.el: Include stat summary in patch diff
    
    Run 'stg show' with '-O --patch-with-stat' flags.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5f1b00134eecb000fad349603ce0796ff6061abb
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Jan 12 21:20:13 2009 +0100

    stgit.el: Make single file diff buffer read-only
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d51722b71a1c75f91bfb8653bc6b1ba754a376dd
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Jan 12 21:20:13 2009 +0100

    stgit.el: Consistently use symbols rather than strings for patch names
    
    Also make the stgit-run... functions automatically convert their
    arguments to strings.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a1d6a0811bac0329f50ffa4742cf7894390104bf
Merge: d3b31ee 7e20ab3
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jan 22 23:57:01 2009 +0100

    Merge branch 'stable'
    
    * stable:
      stgit.namelength is an integer
      Return None instead of crashing on undefined integer config items

commit d3b31eeac6c6fba9352188755164f556faf56e59
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jan 14 22:25:48 2009 +0000

    Fix the patch argument parsing for the "show" command
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 7e20ab3a7194a445408261f7c1949f655f355acf
Author: Pete Wyckoff <pw@padd.com>
Date:   Mon Jan 12 21:04:24 2009 +0100

    stgit.namelength is an integer
    
    Interpret stgit namelength as an integer, else the use of
    name_len will fail with
    
      File "/usr/lib/python2.5/site-packages/stgit/utils.py", line 206, in patch_name_from_msg
        return re.sub('[\W]+', '-', subject_line).strip('-')[:name_len]
    TypeError: slice indices must be integers or None or have an __index__ method
    
    Signed-off-by: Pete Wyckoff <pw@padd.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e928a3ec866f51a811299d2978f5e3d3b2c13819
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Jan 12 21:04:10 2009 +0100

    Return None instead of crashing on undefined integer config items
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e4f6fdcb38127754b8f0b31d202354db85553aff
Author: Jason Green <jason@transgaming.com>
Date:   Thu Dec 18 09:29:11 2008 -0500

    Patch to clarify the "unsolved conflicts" message in Stacked Git
    
    I recently started using Stacked Git to manage my patchsets, and it's
    been a great tool.  However, I was a bit confused for a while on how
    to resolve conflicts when a merge fails.  Here's a patch to hopefully
    clarify that message a little.
    
    Signed-off-by: Jason Green <jason@transgaming.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3c08c7b9b07077b9f0dc6a8bd963e571007f3daf
Merge: df283a8 a79cd5d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jan 1 21:51:22 2009 +0000

    Merge branch 'proposed'

commit df283a8bfffb8145e71817ee240797356847821e
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Dec 29 15:32:58 2008 +0100

    stgit.el: Canonicalize some error messages
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 47271f41095413278e8a7482dd22c0606856617d
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Dec 29 15:32:58 2008 +0100

    stgit.el: Add some missing help texts
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 8439f6574d720ecc6c488efca08818af0a709522
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Dec 29 15:32:58 2008 +0100

    stgit.el: Fix some too wide lines
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 1288eda2f520c4cb2b06de9d279d2d65704091f6
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Dec 29 15:32:58 2008 +0100

    stgit.el: Bugfix stgit-unmark-down on the last patch
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit aa04f83139b81f81864e2fcc1989e36f35521bc0
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Dec 29 15:32:58 2008 +0100

    stgit.el: Make prefix argument to stgit-new add a Signed-off-by: line
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6f775ac964243b25490e056610e5be5527e90fa6
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Dec 29 15:32:58 2008 +0100

    man pages: Bugfixed man pages for --sign and --ack flags; e.g., for stg-new
    
    An optparse argument type 'callback' with a 'dest' setting showed as
    "--sign SIGN". Use optparse's Option.takes_value() instead.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 4dd55aec004b2c2fa3dc42dc694bbda26c7a14f6
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Dec 21 12:48:27 2008 +0100

    SubmittingPatches: adapt to StGit
    
    Remove a bunch of Git-specific stuff, and insert the corresponding
    StGit stuff where appropriate.
    
    I don't claim the resulting document is perfect, but it should be a
    good starting point.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 413cd69c89abbd060df64a9bd4e5ebc0ac435393
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Dec 21 12:48:27 2008 +0100

    Steal Documentation/SubmittingPatches from Git
    
    'git shortlog -- Documentation/SubmittingPatches' shows that the
    following people deserve credit for it:
    
      A Large Angry SCM (2):
            Add footnote about Thunderbird about trimming trailing WS.
            Update Thunderbird specific hints.
    
      Andrew Ruder (1):
            Add policy on user-interface changes
    
      Bill Lear (1):
            Document --check option to git diff.
    
      David Symonds (1):
            Change from using email.com to example.com as example domain, as per RFC 2606.
    
      Jari Aalto (1):
            Clarify SubmittingPatches Checklist
    
      Jim Meyering (1):
            SubmittingPatches: fix a typo
    
      Johannes Schindelin (5):
            Begin SubmittingPatches with a check list
            SubmittingPatches: mention older C compiler compatibility
            Update to SubmittingPatches
            Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"
            Rename .git/rebase to .git/rebase-apply
    
      Junio C Hamano (19):
            Add SubmittingPatches
            Update SubmittingPatches to add MUA specific notes.
            Update SubmittingPatches.
            Add Pine 4.63 help from Daniel.
            SubmittingPatches: note on whitespaces
            Documentation: note about contrib/.
            Documentation/SubmittingPatches: 3+1 != 6
            Documentation/SubmittingPatches: Gnus tips
            Merge branch 'maint'
            Merge branch 'maint-1.5.1' into maint
            Remove git-applypatch
            War on whitespace
            Update my contact address as the maintainer.
            Documentation/SubmittingPatches: Instruct how to use [PATCH] Subject header
            Documentation/SubmittingPatches: discuss first then submit
            Documentation/SubmittingPatches: What's Acked-by and Tested-by?
            Documentation/SubmittingPatches - a suggested patch flow
            Merge branch 'maint'
            Merge branch 'maint' to sync with GIT 1.6.0.6
    
      Lukas Sandström (2):
            SubmittingPatches: The download location of External Editor has moved
            Add a helper script to send patches with Mozilla Thunderbird
    
      Michele Ballabio (1):
            Documentation: add KMail in SubmittingPatches
    
      Miklos Vajna (1):
            SubmittingPatches: mention the usage of real name in Signed-off-by: lines
    
      Paolo Ciarrocchi (1):
            Teach SubmittingPatches about git-commit -s
    
      Pavel Roskin (1):
            Assorted typo fixes
    
      Sergei Organov (1):
            SubmittingPatches: improve the 'Patch:' section of the checklist
    
      Tom Preston-Werner (1):
            add instructions on how to send patches to the mailing list with Gmail
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 610915dc3a07f06dee7c795dd8eb2325243f1a34
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Dec 21 11:55:53 2008 +0100

    stg files: Don't write just an empty line
    
    If we don't produce any output, we shouldn't print a newline.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a6d9a852e66a15f28532825a3763577697c04a89
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sun Dec 21 11:55:52 2008 +0100

    stgit.el: Also show mode and type changes of files in patches
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ea09f8ce7b1bcea38a7d9f0079a28c6109989342
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sun Dec 21 11:55:52 2008 +0100

    stg mail: Improve error message for unknown sender identity
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 051e292e362875d33478136431e18c7a26ccd2f2
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sun Dec 21 11:55:52 2008 +0100

    Add '--help' to tab completion for all commands
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 1f60181a36c0b201b40e2c8b610cc203df048f54
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sun Dec 21 11:55:52 2008 +0100

    stgit.el: Use 'git diff-stat' to show files in a patch
    
    Print file modification status in human-readable format.
    
    Add stgit-expand-find-copies-harder flag to select whether to use
    the --find-copies-harder flag or not.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 8f40753a9854938554c9cabcb296be077fd7a3eb
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sun Dec 21 11:55:51 2008 +0100

    stgit.el: Add an stgit customization group
    
    This makes it easier to customize faces and (future) variables.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 378a003d09d85f24eaaee0c3a0634e7c667326ed
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sun Dec 21 11:55:51 2008 +0100

    stgit.el: Add support for showing which files are affected by a patch
    
    One can "expand" a patch by pressing RET, which shows the files that
    patch modifies. On a line with a modified file, one can:
      RET  find file
      o    find file in other window
      =    show diff in that file
    
    \C-n and \C-p can be used to move between patches when they have been
    expanded.
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 074a4fb01a1d915716f3ac983537ef0222a4db9c
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sun Dec 21 11:55:51 2008 +0100

    stgit.el: Automatically update git-status buffer when necessary
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 018fa1ac52c5cedd2e6898ce51a0cc047c61dfd7
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sun Dec 21 11:55:51 2008 +0100

    stgit.el: Add flag to signal errors in stgit-patch-at-point
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a53347d97913284b3d5ca2be47a10ebb607acfd2
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Sun Dec 21 11:55:50 2008 +0100

    stgit.el: Unify help text formatting
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c5d45b923eaba7b6efe313fd6c0e5e4d6dc6c337
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Dec 10 21:03:52 2008 +0100

    stgit.el: Fix working directory bug in stgit-new
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Acked-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0f076fe6b1a561a3a84a2f5938110118944577a2
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Wed Dec 10 21:03:50 2008 +0100

    stgit.el: Add stgit-git-status
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Acked-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f249607484ed865696bd96a2055468b98b4e319f
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Dec 8 21:24:48 2008 +0100

    stg series: Explain the list format better
    
    Also taking into account the recent format change.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 2775a653b86683bf3531e9352b85309eea7432c1
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Mon Dec 8 21:24:44 2008 +0100

    Use separate column for zero in output of stg series -e
    
    This will make the output more regular and easier to parse. It no longer
    overwrites the +/-/! status flag with a zero for empty patches, and
    instead puts the zero before it.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit b0424080e1f7f74495faab93ee00b2b7d0546d6f
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Dec 8 21:24:37 2008 +0100

    stgit.el: Fix some indentation
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9b151b27a360a22177b8b5336ead5658ef0bf5e9
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Dec 8 21:24:37 2008 +0100

    stgit.el: Add stgit-unmark-down
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 3dccdc9bf6d5b2e72a982187f5f947b20f24fc87
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Dec 8 21:24:37 2008 +0100

    stgit.el: Add 'm' as alias for stgit-mark
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 83327d53158a41c82511de8c37386c6f389e2295
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Dec 8 21:24:37 2008 +0100

    stgit.el: Add 'q' for stgit-quit
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 022a3664de84fc5cb6b94abb7ae1f27276c88ccf
Author: Gustav Hållberg <gustav@virtutech.com>
Date:   Mon Dec 8 21:24:37 2008 +0100

    stgit.el: Compact code for populating stgit-mode-map
    
    Signed-off-by: Gustav Hållberg <gustav@virtutech.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9aecd505da74ee2d0880a82580e1d2cdd6cb5e33
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sun Dec 7 13:32:10 2008 +0100

    stgit.el: Show running commands
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 4d73c4d8b0d4491fd8331b25c5c7eb74a666c89c
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sun Dec 7 13:32:07 2008 +0100

    stgit.el: Add the stgit-refresh command
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 1d08786602b0a01a6334d5385bc1741bd2ec4974
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sun Dec 7 13:32:04 2008 +0100

    stgit.el: Move stgit-rename to C-c C-r
    
    This allows us to reuse "r" for refresh.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 1f0bf00f9ca8a10808a00cdbd4152a941f94d73c
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sun Dec 7 13:32:00 2008 +0100

    stgit.el: Rename stgit-refresh to stgit-reload
    
    This allows us to reuse the stgit-refresh for the more obvious
    "stg refesh".
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e6b1fdaec6129f6391429cee7b79afd9185e5d22
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sun Dec 7 13:31:57 2008 +0100

    stgit.el: Try to make the point stay on the coalesced patch
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a79cd5d5eb048bdd9e78d096f7f2cbf923d85eca
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Dec 3 21:49:23 2008 +0000

    Print conflict details with the new infrastructure (bug #11181)
    
    The patch modifies the IndexAndWorkTree.merge() function to display
    pass the conflict information (files) when raising an exception. The
    logic is similar to the one in the old infrastructure.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit b9756849c9297b23f0628bcb08bad9a52a8aacf8
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Wed Dec 3 21:48:17 2008 +0000

    fix export -s
    
    Resolves:
    stg export -s `stg top`
    Traceback (most recent call last):
      File "/usr/local/lib/python2.5/site-packages/stgit/main.py", line 152, in _main
        ret = command.func(parser, options, args)
      File "/usr/local/lib/python2.5/site-packages/stgit/commands/export.py", line 169, in func
        f = sys.stdout
    NameError: global name 'sys' is not defined
    
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit de41ecc81c56da737900b7623afc314547bfb223
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Wed Dec 3 21:48:17 2008 +0000

    mail: add some commonly used tags to --auto
    
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3f6cd12e78e322891443a77d8fde2e36a0ad3807
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 2 11:05:27 2008 +0000

    Do not append a new line to the backwards compat files (bug #12656)
    
    Since the multiline argument wasn't passed to the utils.write_string()
    function when writing the compatibility description file from the new
    infrastructure, any older command like push would have committed these
    new lines.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit ca454a61280aa12da9c417058900fa4b777c0109
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 2 11:05:27 2008 +0000

    Add "tags" target to Makefile
    
    We could only generate TAGS before. Also added these targets to .PHONY.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0282088a389a0b7b764b264c98d22fdba93626f2
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 2 09:41:09 2008 +0000

    s/GIT/Git/ in the README
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d2a270a6282dbc78e7c1a432af1a7cc7c47c1b4a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Nov 23 21:16:19 2008 +0000

    Fix the HEAD updating during a conflicting push (bug #12609)
    
    Copying most of Karl's comment from the list:
    
     1. In push_patch(), we delay the final stack update (the update()
        function) since we want to record the state just before the
        conflict in the stack log.
    
     2. In run(), we update the branch head before running the delayed
        stack update (self.__conflicting_push()).
    
    The patch works around this problem by explicitly specifying what the
    branch head should be; this mechanism is used by undo etc. to be able
    to set the branch head to something that isn't the stack top.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit 60a825576e437809c7b4d51329474edaf8f9c66a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 21 22:33:20 2008 +0000

    Display (empty) when appropriate for the goto command
    
    This is a fix for bug #11810. The original implementation of goto used
    to display (empty patch) when a patch became empty during a push + merge
    operation. This patch adds this feature again.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit 628746149bfb27e1d326e715d40e9ce3dd77583f
Merge: 83e51db eda45db
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Nov 8 22:00:42 2008 +0000

    Merge branch 'proposed'

commit eda45dbaabfc0b9991bb7626eddaacfa797048a5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Nov 8 21:49:09 2008 +0000

    Add 'pick' test script
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 214a8453c91d1ba54b85d44cbfc49810b34fae80
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Nov 8 21:18:09 2008 +0000

    Generate a different patch name if it already exists
    
    This is a fix for bug #12518. If the patch name already exists, the pick
    command generates another by appending a numbered suffix.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d37b109f0cd11094227866c8498d274e1074a61c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Nov 8 21:18:08 2008 +0000

    Allow pick --fold to work without applied patches
    
    This patch fixes bug #12517. While there may be other variants for
    achieving the same, it makes sense not to restrict the --fold option.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0aa48e801c7093e3270c7e22042aa7ff74ce939b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Nov 8 21:34:52 2008 +0000

    Refresh of remove-e-mail-address-duplicat

commit cd74a04108f018e6207f295d538038b87c7eccd7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Nov 8 21:18:08 2008 +0000

    Remove e-mail address duplicates
    
    This is a fix for bug #10902. The 'mail' command now filters the
    duplicate e-mail addresses before generating the message to be sent.
    This was a problem especially with the --auto option.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 53388a712669bc5db72030fb5fe7addb5da0716e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Nov 8 21:18:08 2008 +0000

    Remove the --committer options
    
    As per bug #11977, these options should not be used directly. People
    wanting a different committer should set the corresponding Git
    environment variables.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 83e51dbf7d6dbb2eb2e364db2c2b9058556d7eec
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Thu Nov 6 08:34:37 2008 +0100

    stgit.el: Add undo command
    
    Bound it to the two standard bindings C-/ and C-_.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ad80ce22e32724b7562cd778ba667c085c1a8a25
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Thu Nov 6 08:34:37 2008 +0100

    stgit.el: Adapt to new output from stg series.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0b661144124702f6fee89c6e4aafb8302d6fcf6d
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Thu Nov 6 08:34:37 2008 +0100

    stgit.el: Add numeric prefix argument to push and pop commands.
    
    By using a numerical prefix (or simply C-u) it is possible to push or
    pop more than one patch.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit dc7f6b0708eef5f15e51b893ca35fd4d2d0ef686
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Nov 1 10:52:27 2008 +0000

    Add parse_patches boundary in the delete.py file
    
    Specifying open intervals like .. for the delete command would remove
    both applied and unapplied patches, which might not be the intended
    behaviour. Boundary crossing should be explicit.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d5214f56be8f4b573512439a0d4c909e4cbcbc21
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Nov 1 10:52:27 2008 +0000

    Change e-mail user agent header to StGit
    
    For consistency with documentation as it was StGIT.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit fc5524858b9221ce414ed442a3016ceb31646ed0
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Oct 29 20:06:16 2008 +0100

    Tutorial: Importing patches
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 972de1dbc2bab3b43c07ba4d3d88ef11f30447ac
Author: Clark Williams <williams@redhat.com>
Date:   Fri Oct 24 03:10:36 2008 +0200

    Teach "stg import" to import patch series from tar archives
    
    Signed-off-by: Clark Williams <williams@redhat.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit cceabd76d2daed14c9c20603f371d492c4c421ab
Author: Clark Williams <williams@redhat.com>
Date:   Fri Oct 24 03:05:35 2008 +0200

    Ignore compiled elisp files
    
    Signed-off-by: Clark Williams <williams@redhat.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0f36eab20587b39314604decfa9f738130a19d0c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Oct 19 09:16:06 2008 +0100

    Fix "show" to allow multiple branch:patch arguments
    
    Ranges aren't allow to contain the branch:patch format but individual
    patches can be specified this way since they are treated as individual
    commits.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2b5462d71840853d406d77e07eb1ae7294dcafa9
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 12 17:03:52 2008 +0200

    Tutorial: Write about rebasing
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e1bec2d5ed815c3de343a0843414d06188d69509
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 12 17:03:52 2008 +0200

    Tutorial: Cover "stg mail"
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 58e2aed20dfc097c3a6806974b868e687c3f49a4
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 12 17:03:52 2008 +0200

    Tutorial: Explain diffs a little bit better
    
    Say that we use unified diffs, and point to the Wikipedia article
    about them. We should probably explain this in more detail ourselves
    when we get a proper user guide; but for the tutorial, this is
    probably enough.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 808d80f8b0b7a53ff3dcfab50e863e473678cd79
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 12 17:03:51 2008 +0200

    Tutorial: Talk about conflicts when introducing StGit
    
    Conflicts and conflict resolving are essential features of StGit, so
    we'd better tell the user about them.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ce0a1f86b26e40dbe788b53b97482c5fb1010870
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 5 17:37:17 2008 +0200

    Refresh and expand the tutorial (not finished)
    
    This is a first pass at expanding the tutorial, fixing its formatting,
    and updating it with the new things that have happened in StGit.
    
    There are a number of things still left to do in the second half of
    the document; they are tagged with "TODO".
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d3c560baa270240c6f38de9125fad8afb1a2f8c8
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Oct 4 15:35:57 2008 +0200

    Refresh the main stg man page
    
    Update the text to reflect what's happened in StGit in the last few
    releases. Also, consistently capitalize the names "Git" and "StGit".
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d7eeb79b8110d4ed50361a1fd43d64b692728159
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Oct 4 11:20:03 2008 +0200

    Add 1.0 TODO items from recent discussion by private mail
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 2171eff37c64813683355542bd6e5947c7e53bcd
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Oct 4 11:15:43 2008 +0200

    We're half-way there with the separate indexes
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 37ebfdcddc1c997f3831a292ae03416bebbaec5f
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Oct 4 11:03:58 2008 +0200

    Remove TODO items that have already been addressed
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f211581b1a4133b3f666d3ab546f5d9e8c53481d
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 5 17:33:41 2008 +0200

    Remove unused variable
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 3730c5247dcacb4e8bdc229e71c3dc5f10034a82
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Oct 2 23:11:12 2008 +0100

    Use --diff rather than --patch in log.py
    
    In a few places in this file options.diff is used already.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 588a7414ee52328525dfcb514e580da877e4ff3c
Merge: 0228d78 7cb253c
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 28 14:38:22 2008 +0200

    Merge branch 'stable'
    
    * stable:
      Fix typo

commit 7cb253c05b509510177a1df4d5813861641968f6
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 28 14:32:12 2008 +0200

    Fix typo
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0228d783ed14255efb5cf4f2321f359978ca1241
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 20:34:07 2008 +0200

    Test the new stg delete --spill flag
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 501a66debc40750f48917a6e4afc4f48da4dd416
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 20:34:07 2008 +0200

    Add a new flag, --spill, to stg delete
    
    It deletes the patches as usual, but doesn't touch index+worktree.
    Useful for splitting up a patch, or undoing an "stg refresh".
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit dacc59cb88970716a41b14898fc49e1616cedadf
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 20:34:07 2008 +0200

    Remove misleading "stg delete" documentation
    
    With the recent arrival of the stack log, patch
    deletion can now be undone.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 2c1e19f5491eecc562f8a8c237847936b86e4db8
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 20:34:07 2008 +0200

    Add myself to the AUTHORS file
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 94b2b61d2b0f176234cbb135d613239855a8087a
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 20:34:06 2008 +0200

    Untabify
    
    We don't use tabs anywhere else, so it seems inconsistent to use it
    here.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6c8a90e1b43ee2f8e687a2b392fb0ce192e61bda
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:20:41 2008 +0200

    Automatic bash completion
    
    Teach the build process to create a bash tab completion script. This
    has three benefits:
    
      1. The tab completion gets faster, since it no longer has to run stg
         to figure out the set of available flags for each command.
    
      2. The tab completion script used to encode the list of stg
         subcommands, and the kind of arguments each subcommand expected.
         This information now lives in just one place: the subcommand's
         module.
    
      3. The tab completion script now knows what kind of argument each
         flag wants, and can tab complete those as well. So "stg refresh
         <tab>" will complete dirty files, but "stg refresh -p <tab>" will
         complete patch names.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f9d69fc4927827056cba918d9900e638845864f6
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:43 2008 +0200

    Implement "stg refresh --edit" again
    
    The -e/--edit flag to "stg refresh" was dropped between v0.13 and
    v0.14, causing severe user dissatisfaction. This patch restores it,
    along with -m/--message, -f/--file, --sign, --ack, --author,
    --authname, --authemail, and --authdate.
    
    I omitted the --committer options on purpose; I think they are a
    mistake. Falsifying the committer info is not a common operation, and
    if one wishes to do it for some reason, one can always set the
    GIT_COMMITTER_* environment variables.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d010528933a0f321c41d9e23e6b09a09365a318b
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:43 2008 +0200

    Invoke the correct interactive editor
    
    The order is supposed to be GIT_EDITOR, stgit.editor, core.editor,
    VISUAL, EDITOR, vi. This patch makes it so.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ef954fe616e3a8012d247292dc8a82a4e3d8d333
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:43 2008 +0200

    Refactor stgit.commands.edit
    
    Reorganize a few existing functions, and break out stuff from the main
    function into subroutines.
    
    While we're at it, move one of the old and all of the new functions to
    stgit.lib.edit, so that we can use them in a later patch to implement
    "stg refresh --edit".
    
    This fixes one of the known failures in t3300-edit.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 625e8de7db58c85f137e78aaef258afcb1a3151c
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:42 2008 +0200

    Remove --undo flags from stg commands and docs
    
    Now that we have "stg undo" et.al., they aren't needed anymore.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit b7e3c8c0b4cc0469eeb00ef00cfcf02528faed90
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:42 2008 +0200

    New refresh tests
    
    Test stg refresh more extensively -- including some things it only
    recently learned to do.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 85aaed816bde469b3de72e80d8f8ed7830302fbf
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:42 2008 +0200

    Convert "stg refresh" to the new infrastructure
    
    And in the process, make it more powerful: it will now first create a
    temp patch containing the updates, and then try to merge it into the
    patch to be updated. If that patch is applied, this is done by
    popping, pushing, and coalescing; if it is unapplied, it is done with
    an in-index merge. This allows us to correctly handle a few corner
    cases that didn't use to work, such as adding a new file to a
    non-topmost patch (fixes the t2701 test failure).
    
    The temp patch creation and merging is logged in two separate stages,
    so that the user can undo them separately.
    
    Also, whenever path limiting is used, we will now use a temporary
    index in order to avoid including all staged updates (since they may
    touch stuff outside the path limiters).
    
    Support for the --force, --undo, and --annotate flags were dropped.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit de19d17bd03100446c1b9e581a40a21d1b0ad6ca
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:42 2008 +0200

    Make "stg log" show stack log instead of patch log
    
    Make "stg log" show the new stack log instead of the old patch logs,
    which is now obsolete. Delete t1400-patch-history, which is specific
    to the old "stg log".
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f4e6a60e96e4c06951fd1da2cd5faa52f7f4154d
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:42 2008 +0200

    Check for top == head at the start of every transaction
    
    We used to check it in the run() method, but that's sometimes too
    late: for example, it causes stg coalesce to ask for a commit message
    _before_ the check, resulting in a lost commit message if the check
    fails.
    
    As before, the check can be disabled for the few commands that need
    it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c539d6250d99e978313fbfaf70ceaf4ebec8dcb7
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:42 2008 +0200

    Test that stg coalesce handles head != top gracefully
    
    It currently doesn't quite: it will roll back the transaction just
    fine, but not before asking the user for a commit message which is
    lost in the rollback.
    
    Bug discovered by Erik Sandberg <mandolaerik@gmail.com>:
    https://gna.org/bugs/?12204
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c70033b45deac916730549bb915231f59895caf9
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:41 2008 +0200

    Log and undo external modifications
    
    At the beginning of every StGit command, quickly check if the branch
    head recorded in the log is the same as the actual branch head; if
    it's not, conclude that some non-StGit tool has modified the stack,
    and record a log entry that says so. (Additionally, if the log doesn't
    exist yet, create it.)
    
    This introduces the possibility that a log entry specifies a head and
    a top that aren't equal. So teach undo, redo, and reset to deal with
    that case.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 121c14e552a2ba679e06842ca43bf00aa147755f
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:41 2008 +0200

    New command: stg redo
    
    Command for undoing an undo.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 069a1e9574171e5070c0ea9c7055bf985e08a64a
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:41 2008 +0200

    New command: stg undo
    
    Basically, this is just a user-friendly way to access a subset of the
    functionality of "stg reset".
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 4ae6b67e627318b3e61a2aadbf6506f6178982b9
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:41 2008 +0200

    Move stack reset function to a shared location
    
    Move reset_stack() from commands/reset.py to lib/log.py, so that more
    commands besides reset can use it. (No such commands exist currently,
    but undo and redo will use it.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 67b01c133fea32df4041ef68cb6d6f4d8fa1189e
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:41 2008 +0200

    Don't write a log entry if there were no changes
    
    Some commands end up calling log_entry() without verifying that they
    did in fact change anything. (One example of this is a conflicting
    push, which will log two entries, everything else and the conflicting
    push, with the "everything else" part being empty if there was only
    one patch to push.) So before appending to the log, make sure that the
    entry we're appending isn't a no-op.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9690617a55cba571d0cb25ed846ef41942063020
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:41 2008 +0200

    Add a --hard flag to stg reset
    
    With this flag, reset will overwrite any local changes. Useful e.g.
    when undoing a push that has polluted the index+worktree with a heap
    of conflicts.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d6a698bbff11af2312600afb708d23d69e75d8e3
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:40 2008 +0200

    Log conflicts separately for all commands
    
    This takes care of the old-infrastructure commands as well. They'll
    all be converted to the new infrastructure eventually, but until then
    this patch is necessary to make all commands behave consistently.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a3d7efccc515eeb12001a46ea0b781133768b23c
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:40 2008 +0200

    Log conflicts separately
    
    This patch makes commands that produce a conflict log that final
    conflicting push separately from the rest of the command's effects.
    This makes it possible for the user to roll back just the final
    conflicting push if she desires. (Rolling back the whole operation is
    of course still possible, by resetting to the state yet another step
    back in the log.)
    
    This change only applies to the new-infrastructure commands.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 3a3a4f2f9876f08f09d6bc6771cb951bba285375
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:40 2008 +0200

    New command: stg reset
    
    Given a commit object from the log, resets the stack (or just the
    named patches) to the state given by that log entry.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 117ed129a470c5cdae3addb43ff6f2d04f3e5409
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:40 2008 +0200

    Write to a stack log when stack is modified
    
    Create a log branch (called <branchname>.stgit) for each StGit branch,
    and write to it whenever the stack is modified.
    
    Commands using the new infrastructure write to the log when they
    commit a transaction. Commands using the old infrastructure get a log
    entry write written for them when they exit, unless they explicitly
    ask for this not to happen.
    
    The only thing you can do with this log at the moment is look at it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a0ce5562122f6536329de1dc4f3e460032e02cca
Author: Daniel White <daniel@whitehouse.id.au>
Date:   Sun Sep 21 14:17:39 2008 +0200

    Fixes for auto-generation of man pages
    
    stg.txt is the only man page not generated by stg-build --commands.
    Provide this page explicitly instead of including all other
    commands twice.
    
    stg-cmd-list.txt is only a template for inclusion in other man
    pages, so rename to stop it being built along with other stg-*
    files.
    
    Signed-off-by: Daniel White <daniel@whitehouse.id.au>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 33ff9cdd840cfe2780acc41d88d33c8c3bc2761e
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:19:07 2008 +0200

    Generate command lists automatically
    
    Instead of hard-coding the list of stg subcommands everywhere,
    generate them automatically. That way, they never get outdated (like
    the list in stg.txt).
    
    In order to not make StGit slower, we cache the list of commands; run
    "make build" to update that cache (other make targets, such as "all"
    and "test", imply "build"). If the cache doesn't exist, the code falls
    back to importing all the command modules, which adds quite a bit of
    overhead to each stg command (about 100 ms on my laptop).
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a1e0467d1262ac793a63a650d547cded11f74fe7
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:39 2008 +0200

    asciidoc.conf: Steal updates from git
    
    Steal updates to asciidoc.conf from git. Also, make sure that we use
    the link:[] abd stglink:[] macros correctly everywhere.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 575bbdaeb6b8fae0eef19672d288361282b83fb4
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 21 14:17:39 2008 +0200

    Auto-generate man pages for all StGit commands
    
    Auto-generate man pages based on the docs that are in each
    stgit/commands/<cmd>.py file. That doc format is extended in order to
    support both brief command help output and manpage text.
    
    The existing interactive help is made briefer (just the usage, the
    one-line explanation, and the option listing).
    
    The text in the man pages needs some love, both content-wise and
    asciidoc-markup-wise. This is left for future patches to resolve. (It
    should be rather simple to improve the man pages one by one now that
    the infrastructure is in place.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 1c2426dc0bff311e5cba2ba12a1b6492553135b9
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sun Sep 21 14:17:38 2008 +0200

    Add support for initializing a branch for stgit from Emacs.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 3ce5fec2ef4154369653a41eb7692aca25878298
Merge: 199bfcd 8bcdcdc
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 19 22:52:26 2008 +0100

    Merge branch 'stable'
    
    Conflicts:
    
    	t/t1501-sink.sh

commit 8bcdcdc99a819905d837ad90dd02aa3611c3144e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Sep 18 22:31:31 2008 +0100

    Fix the sink command for various test cases
    
    The t1501-sink.sh test was also improved.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 199bfcd3ace43faa91ec97b1c16cb994b1dcfbb9
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 12 22:22:47 2008 +0100

    Autosign newly created patches
    
    This patch adds the autosign configuration variable which is checked by
    the "new" command to automatically sign the patch message.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d6de04620a5460a4fa0bd2107706e2df4f7ea76a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 12 22:22:18 2008 +0100

    Do not crash if a patch log ref is missing
    
    Since we'll get rid of the individual patch logs, StGit should ignore if
    such a ref is missing when deleting the compatibility patch files.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ddca05489313c16e5a0386d26d52568113f8ec46
Merge: 607326f 47d51d9
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Sep 9 23:12:19 2008 +0100

    Merge branch 'stable'

commit 47d51d91ed814d31e00e62e5fc4ea8ea5d98eab4
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Sep 9 23:11:16 2008 +0100

    Fix import to work properly in subdirectories
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 607326fdb79246c0363f63ff56f819421d60ea46
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Sep 9 22:34:30 2008 +0100

    Fix the importing of config in series.py
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 50304e123d48f57ca06d05533489c24b38f5c24f
Author: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
Date:   Sat Sep 6 10:16:22 2008 +0200

    stgit-completion.bash: Remove add/applied/cp/rm/unapplied
    
    These commands are no longer available.
    
    Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d97466b95a93c710cc783a6bc9fb724dadca4485
Author: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
Date:   Sat Sep 6 10:16:22 2008 +0200

    diffcol.sh: Use /bin/bash explicitly
    
    Recent Ubuntu uses dash (Debian Almquist Shell; a lightweight POSIX-
    compliant shell derived from ash) as /bin/sh by default.  In this case
    pager=diffcol.sh doesn't work like this:
    
    > skuribay@ubuntu:~/kernel/linux.git$ stg show
    > /home/skuribay/share/stgit/contrib/diffcol.sh: 22: Bad substitution
    
    this is caused by non-bash-compliant /bin/sh.
    
    diffcol.sh is based on Quilt, and Quilt is dependent on bash; Actually
    all Quilt scripts use /bin/bash without exceptions.  Then it's good for
    diffcol.sh to use /bin/bash.
    
    Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 20a52e06c7e0b8da714aec725b32ed8722f79c35
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Sep 6 10:16:22 2008 +0200

    Refactoring: move shared options to their own module
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a1923ca89d84e6e2d39c5b6de1411623c5551484
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Sep 6 10:16:22 2008 +0200

    Remove unneeded import
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ff3db0e4da2b61c858766adf5237c2877ffd411b
Author: Daniel White <daniel@whitehouse.id.au>
Date:   Wed Aug 27 16:38:11 2008 +1000

    Remove dashed form of git command still in comment
    
    Signed-off-by: Daniel White <daniel@whitehouse.id.au>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 850c3a89476ba8608b2deeba109fa7def2607655
Merge: 3bc4dc4 04b4421
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Aug 27 00:00:15 2008 +0200

    Merge branch 'stable'
    
    Conflicts:
    	stgit/commands/diff.py
    	stgit/commands/edit.py
    	stgit/commands/export.py
    	stgit/commands/files.py
    	stgit/commands/mail.py
    	stgit/gitmergeonefile.py
    	t/t1200-push-modified.sh
    	t/t1201-pull-trailing.sh
    	t/test-lib.sh

commit 04b442170d797b1cb80700838c41b7222040236c
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Aug 26 23:43:49 2008 +0200

    Don't use the dashed for of git commands
    
    With the release of git 1.6.0, the dashed forms of the git commands
    are no longer installed in $PATH by default, so trying to use them is
    likely to fail. This patch replaces all remaining dashed git calls by
    their dashless equivalents -- even in comments and docs, for
    consistency and to aid grepping.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 3bc4dc4f9595df90d048f829dd9c0c5a387d05cb
Author: Daniel White <daniel@whitehouse.id.au>
Date:   Fri Aug 22 22:49:05 2008 +0100

    debian/rules: take advantage of new build targets
    
    As a result, both man and html documentation are included
    in the resulting package.
    
    Signed-off-by: Daniel White <daniel@whitehouse.id.au>

commit 56555887d1e214258858045fdd348337972850e7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Aug 21 23:12:16 2008 +0100

    Remove the duplicate utils.strip_leading function
    
    This function is a duplicate of utils.strip_prefix.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 7c05b36711ac5bd4d2d4d94f412aa980c8540ab6
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Aug 21 23:12:16 2008 +0100

    Fix some remaining old-style stg id calls
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f9d9a06200ab37e52ac737ce9e3c050100e5aa15
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Aug 21 23:12:16 2008 +0100

    Remove the applied/unapplied commands
    
    This patch moves the applied/unapplied functionality to the 'series'
    command via the corresponding options.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e4560d7ebac0f15ce5383f21c1c1696efc4fe66b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Aug 21 23:12:15 2008 +0100

    Convert git_id() to the new id format
    
    The patch rewrites git_id() to use the new id format and coverts the
    commands using this function. The git_id() will be removed once all the
    commands are converted to the new infrastructure where git_commit() will
    be used instead.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 48c930db6aaa1559f0d25030c0a9691170fe715c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Aug 21 23:12:15 2008 +0100

    Implement a new patch identification scheme and id command
    
    The new scheme allows '[<branch>:]<patch>' and '[<branch>:]{base}'
    (the latter showing the base of a stack). You may append Git suffixes
    like ^ and ^{...}.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a0fe60a231b08ce3cba4b8cdcbc4db68ae160116
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Aug 21 10:45:05 2008 +0100

    Allow e-mails to be sent with the Unix sendmail tool
    
    If the stgit.smtpserver configuration option has an absolute file path
    format, it is assumed to be an external tool. For example, to use
    sendmail just set this variable to "/usr/sbin/sendmail -t -i" (see the
    examples/gitconfig file).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 42857cbe036ba5917eacc9dbb5644d395f638ed9
Author: Samuel Tardieu <sam@rfc1149.net>
Date:   Mon Aug 4 17:36:32 2008 +0200

    Do not mess-up with commit message formatting when sending email
    
    The short description, which will be used as the email subject,
    gets its leading and trailing blanks removed.
    
    The long description gets its trailing blanks removed as well
    as any leading empty lines. Leading blanks are left untouched
    to preserve the formatting.
    
    Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9164e8e28f607a669b5e6b1d44d811b7397175c7
Author: Samuel Tardieu <sam@rfc1149.net>
Date:   Mon Aug 4 15:59:12 2008 +0200

    Do not insert an empty line before the diffstat info
    
    To make the format of stg output closer to the plain git one, do
    not insert an empty line between the "---" separator and the
    diffstat information.
    
    Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f837ca5e48bcd894b907e6426bbde06742f9378e
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Aug 4 15:21:16 2008 +0200

    Add some tests of refreshing removed files
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e4875f1770b77a03d19878dedfd084cf16c59574
Author: Daniel White <daniel@whitehouse.id.au>
Date:   Sat Jul 26 02:23:53 2008 +1000

    Updated INSTALL with documentation of Makefile
    
    Also includes information about requirements for
    building and installing documentation like git's
    INSTALL documentation.
    
    Signed-off-by: Daniel White <daniel@whitehouse.id.au>

commit 706c6fac934c483780d9c21e1e8068fe39619615
Author: Daniel White <daniel@whitehouse.id.au>
Date:   Sat Jul 26 02:22:34 2008 +1000

    Remove installation of documentation from setup.py
    
    This is attempts to install documentation from a now
    non-existent directory.
    
    Signed-off-by: Daniel White <daniel@whitehouse.id.au>

commit fd52912d651e59701714b4b957757bca4725a728
Author: Daniel White <daniel@whitehouse.id.au>
Date:   Sat Jul 26 04:00:43 2008 +1000

    Add install-html target to makefile
    
    Signed-off-by: Daniel White <daniel@whitehouse.id.au>

commit 722b07a6ecbba0d633400b394f8540cf948eb6a6
Author: Daniel White <daniel@whitehouse.id.au>
Date:   Sat Jul 26 02:35:39 2008 +1000

    Add install-doc target to makefile
    
    Signed-off-by: Daniel White <daniel@whitehouse.id.au>

commit 491c9d5aa93938e89cbf97f30192e88e39935e3e
Author: Daniel White <daniel@whitehouse.id.au>
Date:   Sat Jul 26 03:42:29 2008 +1000

    Fix default install location for manpages
    
    Signed-off-by: Daniel White <daniel@whitehouse.id.au>

commit bd1f46edab3496bf1da9dd3c09b5e6b043d44c37
Author: Daniel White <daniel@whitehouse.id.au>
Date:   Sat Jul 26 02:11:41 2008 +1000

    Remove variables regarding section 7 man pages
    
    Documentation/Makefile originally had stg.txt in section 7,
    but this was changed in 36043cd62481bce58d032d06e5e79cae0ec84749.
    Now section 7 is no longer used and the lack of files breaks
    the install target.
    
    It seems simpler to remove this section until it is actually
    required.
    
    Signed-off-by: Daniel White <daniel@whitehouse.id.au>

commit 29a8a0c94fb61b2a907afd9a9684cff058b9498a
Author: Daniel White <daniel@whitehouse.id.au>
Date:   Sat Jul 26 02:37:04 2008 +1000

    Fix Makefile to correctly pass prefix option
    
    Was using PREFIX in top level Makefile whereas
    Documentation/Makefile was using prefix.  Git's
    use prefix, so seems the most reasonable choice.
    
    Signed-off-by: Daniel White <daniel@whitehouse.id.au>

commit 36a06e0194e013552499677e431e528ecb2faee9
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Jul 23 23:29:10 2008 +0200

    Global performance logging
    
    Measure the time for the whole program, and how much of that was
    subprocess calls.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a2f4fe7de51cb580ca587d155f01ad569edd36ae
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Jul 23 23:29:10 2008 +0200

    Log subprocess calls during performance testing
    
    Log each command's subprocess calls to a separate file.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 16d143bffa3c5dcd580abd8a3c4209c2108ade43
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Jul 23 23:29:10 2008 +0200

    Show full command in subprocess profiling
    
    Showing just the executable name isn't so useful now that it's always
    "git".
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit cf8be1c862204655aa1ae2520fec32ef9b05d740
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Jul 23 23:29:10 2008 +0200

    Log subprocess activity to a file
    
    If the user sets $STGIT_SUBPROCESS_LOG to a log mode followed by a
    colon and a file name, append the log to that file instead of writing
    it to stdout.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5200ae3c962ebebdd7f0cab00d94eaab2c3d4f86
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Jul 23 23:29:09 2008 +0200

    Add some performance testing scripts
    
    find_patchbomb.py: Given a git repo, finds the longest linear sequence
      of commits. Useful for testing StGit on a real repository.
    
    setup.sh: Creates two test repositories, one synthetic and one based
      on the Linux kernel repo, with strategically placed tags.
    
    create_synthetic_repo.py: Helper script for setup.sh; it produces
      output that is to be fed to git fast-import.
    
    perftest.py: Runs one of a (small) number of hard-coded performance
      tests against a copy of one of the repos created by setup.sh. The
      initial testcases all involve uncommitting a large number of patches
      and then rebasing them.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 1743e45992c1eea47f52b704a6e0d36c59008924
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jul 24 00:51:18 2008 +0200

    Add utility function for reordering patches
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ca76dc5e788f12b6446f29570528c99f3f4bdc32
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jul 24 03:05:34 2008 +0200

    stg goto: Handle hidden patches more gracefully
    
    It wasn't broken before, exactly, but it did claim that hidden patches
    didn't exist, which is not nice to the user.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit cb1570e14f5e021ccd6580f207fdc6297611fc49
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jul 24 03:05:29 2008 +0200

    Test operations on hidden patches
    
    Previously, we didn't test this at all. Now we have some tests at
    least; and, not surprisingly, a few of them fail.
    
    The expected result of the tests are based on the following idea of
    how hidden patches should work: They should behave just like unapplied
    patches when named explicitly; but if not named explicitly, they
    should behave as if they didn't exist. So for example, a push without
    arguments should never push a hidden patch, but it should be possible
    to push a hidden patch if it is named explicitly.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit dcd2e3dae5143447dae09c2953dc6fae29a31794
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jul 24 00:46:41 2008 +0200

    Teach stgit.lib.transaction about hidden patches
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f40945d11b0f9a324fe8d8c7b8f5296f64294955
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Jul 23 23:29:09 2008 +0200

    Library functions for tree and blob manipulation
    
    Wrap trees and blobs in Python objects (just like commits were already
    wrapped), so that StGit code can read and write them.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit afa3f9b9ed5eeac9c98d7c43e82ba31e7b9e9826
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Jul 23 23:29:09 2008 +0200

    Reuse the same temp index in a transaction
    
    Instead of making a new temp index every time we need one, just keep
    reusing the same one. And keep track of which tree is currently stored
    in it -- if we do several consecutive successful pushes, it's always
    going to be the "right" tree so that we don't have to call read-tree
    before each patch application.
    
    The motivation behind this change is of course that it makes things
    faster.
    
    (The same simple test as in the previous patch -- pushing 250 patches
    in a 32k-file repository, with one file-level merge necessary per push
    -- went from 0.36 to 0.19 seconds per patch with this patch applied.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit bc1ecd0bb28c457634ea5ea747c55945d1aa1997
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Jul 23 23:29:09 2008 +0200

    Do simple in-index merge with diff+apply instead of read-tree
    
    The advantage is that patch application will resolve some file content
    conflicts for us, so that we'll fall back to merge-recursive less
    often. This is a significant speedup, especially since merge-recursive
    needs to touch the worktree, which means we have to check out the
    index first.
    
    (A simple test, pushing 250 patches in a 32k-file repository, with one
    file-level merge necessary per push, went from 1.07 to 0.36 seconds
    per patch with this patch applied.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 29d9a26459c438f4be500022f993b0496d8cbbd8
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Jul 23 23:29:09 2008 +0200

    Discard stderr output from git apply if the caller wants
    
    It prints error messages when it fails, and sometimes we don't need to
    see them since we don't care exactly _why_ it failed. (The only
    current user does want to see the errors, but future patches will
    introduce callers that don't.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 41cbb70556477d5e3f883016b7d617e415bdc956
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Jul 23 23:29:08 2008 +0200

    Fix uncommit status message
    
    It should say
    
      Uncommitting to 8561b089afbaed2651591e5a4574fdca451d82f2 (exclusive) ...
    
    not
    
      Uncommitting to Commit<sha1: 8561b089afbaed2651591e5a4574fdca451d82f2, data: None> (exclusive) ...
    
    (though arguably, the sha1 should be abbreviated as well).
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit bca31c2f68e41625ab6f094904c2c9157ac1e783
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Jul 25 00:01:50 2008 +0200

    Make sure that stg uncommit doesn't touch the branch head
    
    Even if top != head. It used to set head to top; but with this patch,
    it doesn't anymore.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9beaff2e911c0a7c07b288bfdec7597a5cefa7dd
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jul 24 22:55:05 2008 +0200

    stg uncommit should never touch the branch head
    
    However, currently, it will set head to top, potentially losing data
    (which can always be recovered via the reflog, but still). See
    https://gna.org/bugs/index.php?12043. Add a test to demonstrate the
    bad behavior. (Bug discovered by Erik Sandberg
    <mandolaerik@gmail.com>.)
    
    stg commit, on the other hand, should refuse to run if top != head,
    since the committed patches might otherwise be lost. Add a test to
    demonstrate that this is the case.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 145fa2143eb508e8c6b36740bd475c23a780cf55
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jul 24 22:46:56 2008 +0200

    Test for exit code with command_error()
    
    The helper function was made for occasions such as this, so use it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d756053f114b1fdf46c2694e940f1197822afcc7
Merge: 2e37b61 edca532
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Jul 23 23:24:57 2008 +0200

    Merge branch 'stable'
    
    Conflicts:
    
    	setup.py

commit edca53204c2461fd451bf3a8bbb18e59c6260523
Author: Daniel White <daniel@whitehouse.id.au>
Date:   Thu Jul 24 21:25:08 2008 +0200

    Fixed default install location
    
    Originally broken by addition of Debian package support.
    
    The default installation direction is actually /usr at present despite
    what 'INSTALL' says.
    
    The 'debian/rules' makefile specifies the prefix as /usr so doesn't
    seem to depend on this. I've tested the resulting debian package and
    everything is still installed correctly under /usr.
    
    Signed-off-by: Daniel White <daniel@whitehouse.id.au>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9979bb8433f887c394e7e5b328d387479997ffd7
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Jul 18 18:58:11 2008 +0200

    Test that we can add a new file to a non-topmost patch with refresh -p
    
    We currently can't -- this is bug 12038, found by Jon Smirl. See
    
      https://gna.org/bugs/index.php?12038
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5717401cd7f4e6a0ed296bb56fb377b09951135d
Author: Miklos Vajna <vmiklos@frugalware.org>
Date:   Tue Jul 15 19:46:19 2008 +0200

    setup.py: fix error message when running with python-2.3
    
    When setup.py tries to check the python version, the check actually
    won't give a usable error message but it'll raise a SyntaxError. Fix
    this by not using generator expressions.
    
    Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 003dccff96b41ac55e2f003c33e92236a1c4258c
Author: Miklos Vajna <vmiklos@frugalware.org>
Date:   Wed Jul 16 06:19:44 2008 +0200

    setup.py: don't try to import stgit.run before the python version check
    
    stgit.run would import datetime, which is not available in older python
    versions. Import it just before it's needed.
    
    Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 2e37b61d886ef21200007b57f496aaf182f42705
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Jul 6 18:10:08 2008 +0200

    Test for "stg edit"
    
    We weren't testing this comaratively complicated command at all. (And
    not surprisingly, some corner cases that should have worked didn't.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f03004e2c26efcd6b172a915e8e0d2f9a7cb064b
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Jul 6 18:09:08 2008 +0200

    Test for specific exit code
    
    When a command is supposed to fail in a test, test for the exact error
    code we're expecting, not just that it's non-zero. This makes sure
    e.g. that a command that's supposed to fail doesn't do so with an
    unhandled exception.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f749e393e47687971777d79c043562a91e4f493d
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Jul 8 20:33:36 2008 +0200

    Test "stg status" with -M in stgit.diff-opts
    
    It used to fail, before the recent merge of the -O/--diff-opts
    removal, since the default value of that option was taken from
    stgit.diff-opts and passed on to stgit.git.tree_status() which
    couldn't handle it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 7a6a45b5f1379466bd23b33a7feed47d0b8331b7
Merge: a05954e a6c4be1
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Jul 8 20:24:43 2008 +0200

    Merge branch 'stable'
    
    Conflicts:
    
    	stgit/commands/status.py

commit a6c4be12abcf0906a63de8a72c887c360f89ea82
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Jul 8 20:18:50 2008 +0200

    Don't allow extra diff options with "stg status"
    
    The only extra diff options (given either with -O/--diff-opts) that
    would affect "stg status" were -C and -M, and those made it crash
    because it couldn't handle them. So remove those options.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 15ad4498cb4c4f994e67d70247ef892f551cb16a
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Jul 8 20:18:50 2008 +0200

    Test "stg status" with renames
    
    Currently, it only works if -M is not passed to git diff-files, so the
    second of the two tests fails.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a05954efcf4fce744252ce2e1a650b78fa5788d6
Merge: 354d203 cd65a83
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Jun 30 00:47:50 2008 +0200

    Merge branch 'stable' into stable-master-merge

commit cd65a83bcf40b7c991b359099d9a9a894ae7a696
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Jun 30 00:36:24 2008 +0200

    Fix "stg sink" with no applied patches (bug 11887)
    
    There were two separate things to fix: bail out if we need a current
    patch and there isn't one (because there are no applied patches), and
    make sure we don't try to pop patches that don't exist.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 205b1af9e9649152dfc10d9456396dc74bec6daf
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Jun 30 00:33:07 2008 +0200

    Try "stg sink" without applied patches
    
    It doesn't work, neither with an implicit nor an explicit patch to
    sink. This is bug 11887 in the bug tracker.
    
    (The implicit sink testcase actually passes, but that's just because
    the test suite can't distinguish between a program bug and an orderly
    abort.)
    
    The test was adapted from the script attached to the bug report,
    written by Erik Sandberg.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 354d203152c0fda8e0221aff9fdfa9b18d53e83d
Author: Clark Williams <williams@redhat.com>
Date:   Tue Jun 24 06:09:21 2008 +0200

    Patch to allow import from compressed files (gzip and bzip2)
    
    Signed-off-by: Clark Williams <williams@redhat.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 06f9bd6b6f683f995b6c4f5e4a67325f4355c147
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jun 19 22:12:58 2008 +0100

    Fix export error introduced by recent convertion
    
    The parse_patches function wasn't accessible anymore.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 4675b4bb7d2390a00da42cb2ddcc23c73d452756
Author: Samuel Tardieu <sam@rfc1149.net>
Date:   Thu Jun 12 18:36:59 2008 +0200

    Find CmdException in common
    
    Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f8ff2d3ec17b2558905ba85d9e13d73b840d144a
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jun 12 06:28:29 2008 +0200

    Fix typo
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d926892f4f058326d8e7efc61f7ae4f54b8a02b2
Merge: f26b503 c45b4c7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jun 9 00:15:21 2008 +0100

    Merge branch 'stable'
    
    Conflicts:
    
    	stgit/version.py

commit c45b4c79f5a9e99ba0962b1f095e110dc2563526
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jun 8 23:32:40 2008 +0100

    Release 0.14.3
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f26b503649c4e249201c9ae09b0705e8ed24a949
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jun 8 23:20:16 2008 +0100

    Add test_patches target to Makefile
    
    This target tests individual patches in the series.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 073ce43a3cde663ea1eb73ca0dfc7f7b145824e1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jun 8 23:20:15 2008 +0100

    Convert "init" to the new StGIT infrastructure
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit 21b42305824bb49d4e9c05431c42a8ec36e4da68
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jun 8 23:20:15 2008 +0100

    Add stack creation and initialisation support to lib.Stack
    
    This patch adds the create and initialise Stack classmethods to handle
    the initialisation of StGIT patch series on a Git branch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit 04c77bc5bda972cf6de88e2708a147f95d0bccea
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jun 8 23:20:15 2008 +0100

    Create a git.Branch class as ancestor of stack.Stack
    
    This class deals with Git-specific branch commands. The Stack class is a
    direct child of Branch and some of its functionality was moved to the new
    class.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit 2b8d32ac66a07ca070910d653a48948c87e8f87f
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jun 6 21:35:14 2008 +0100

    Rename Repository.head to Repository.head_ref
    
    This is to avoid confusion with the Stack.head function which returns
    a commit object rather than a file name. The patch also changes the
    "new" function to use stack.head directly rather than via the
    Repository.refs... object.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit d454cc061c8c401ecc57863cb977a06341d12653
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jun 6 21:33:42 2008 +0100

    Allow stack.patchorder.all to return hidden patches
    
    A new property, patchorder.all_visible, was added to return only the
    applied + unapplied patches. This is used in the "commit" command to
    avoid automatically committing the hidden patches.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
    Acked-by: Karl Hasselström <kha@treskal.com>

commit 383f9458a2373046db248efb8d767e725de72907
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jun 5 22:20:14 2008 +0100

    Fix the parse_patches() function to work with tuples
    
    The series command passes a tuple to parse_patches instead of a patch list
    (the new infrastructure) but there is no patch_list.index() function.
    The patch transforms the tuple into a list.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 023b3a8d45741d1569519b9be8eb65ea716c857c
Merge: 3e022c8 652b2e6
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jun 3 22:22:56 2008 +0100

    Merge commit 'kha/safe'

commit 3e022c8a41837e0894d017c4912b77e4b1792744
Merge: 3f19450 8fe07fa
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jun 3 22:22:45 2008 +0100

    Merge branch 'stable'

commit 652b2e670f7666e4055fbcd5c2dd9e4275efee2a
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Jun 3 05:03:16 2008 +0200

    Some API documentation for the new infrastructure
    
    Not all that comprehensive, but better than nothing.
    
    Uses epydoc (http://epydoc.sourceforge.net/) markup.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a4b511ffeaba7e283d079d67d76e15463a54062e
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Jun 3 02:44:18 2008 +0200

    Wrap the text of error messages
    
    ... so that they fit nicely in an 80-column terminal. This makes it
    unnecessary to embed newlines and extra spaces in a few places.
    
    This patch only wraps the text of tagged output messages. I haven't
    found a reason to wrap other messages, but I haven't looked long and
    hard.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9b4a6e70a1390d653201e48e12d09005b3fba6c8
Merge: 3f19450 8fe07fa
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Jun 3 02:43:24 2008 +0200

    Merge branch 'stable' into stable-master-merge

commit 8fe07fa4cef52c194e27b1ae764e2647c3f674f2
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Jun 3 02:27:48 2008 +0200

    Handle refresh of changed files with non-ASCII names
    
    Without -z, git diff-files was quoting them for us.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit adb61608fb1611570bbb53ddd0b7551e90e3fbdd
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Jun 3 02:26:10 2008 +0200

    Test for another filename quoting issue in tree_status()
    
    stgit.git.tree_status() had another filename quoting issue, similar to
    the one just fixed. Test for that one too.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit fb9b3c0243657a2cf520e5bd5ccfe4aab94799c8
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Jun 3 01:45:08 2008 +0200

    Handle changed files with non-ASCII names
    
    Git was quoting them for us, which was not what we wanted. So call
    diff-index with the -z flag, so that it doesn't.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 82863c3c5b26c743d1c0c288d354dd78557a914c
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Jun 3 01:40:45 2008 +0200

    Add rebase test for when upstream has deleted a non-ASCII file
    
    Test that stg rebase can handle upstream deleting a file with a
    non-ASCII name. It currently can't.
    
    Bug spotted by Jakub Narebski <jnareb@gmail.com>.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 3f19450c426970b78b19c522a82df1a962da5761
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed May 28 22:02:02 2008 +0100

    Convert "export" to the new infrastructure
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b7eeeade261047f53deceeb367d697218e19dcc5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed May 28 22:02:02 2008 +0100

    Convert "top" to the new infrastructure
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6ce2faa0ac6e5de67cedee09e257e69f9ebff1e8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed May 28 22:02:02 2008 +0100

    Fix error in status.py when calling git.resolved
    
    It was using a generator instead of a list and it failed later in
    Run.xargs().
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 13b26f1a18467e94b444d30d26b3e573c49ebfb3
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed May 28 22:02:01 2008 +0100

    Allow the Repository.get_stack() to get a default argument
    
    If no argument or if it is None, it returns the current stack. This is
    useful for many of the functions taking a --branch option.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 448e5d9de516e35300c7ecee52094ecccb051c12
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed May 28 22:02:01 2008 +0100

    Rewrite the "series" command for the new infrastructure
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f5f22afe39694a687b67077e1789600dc9ff47c9
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed May 28 22:02:01 2008 +0100

    Refactor the Commitdata class to CommitData
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 78e5af69d99659769b052e4c00fe5b23a8356231
Merge: a592005 466bfe5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue May 27 23:18:22 2008 +0100

    Merge branch 'stable'
    
    Conflicts:
    
    	t/t2700-refresh.sh

commit 466bfe50d7930bca950ca2b3436f1278a6b15af5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue May 27 22:47:49 2008 +0100

    Fix "refresh" failure with moved files (bug 11661)
    
    This patch fixes the git.tree_status() function to not pass missing files
    to the git-diff-files command which crashes in weird ways (see the bug
    report on gna.org).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a5920051ee4326489c4b43e85d93f71d4c4ce34a
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 20 23:33:25 2008 +0200

    Add property with a list of all patch names
    
    This simplifies the code in a number of places.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 781e549a76633dd45cdf305c3e73e26ab706e3c9
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 20 23:33:25 2008 +0200

    Prevent most commands from running when there are conflicts
    
    When there are conflicts, we want most commands to fail, since the
    conflicts conceptually belong to the topmost patch. git read-tree
    already checks this for us when we check out a new tree, but there are
    operations where the top tree stays the same, e.g. stg new.
    
    This patch inserts a conflict check when the tree to check out is the
    same. By default, conflicts will prevent the checkout from succeeding,
    but commands can choose to override this if the same patch stays on
    top (for some definition of "same").
    
    This change only affects the new-infrastructure commands; the others
    always refuse to run when there are local changes of any kind.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 7755d7f15d6282945c2ad92e52e54cfd6392b9d7
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 20 23:33:24 2008 +0200

    Emacs mode: delete patches
    
    Teach the emacs mode to delete patches. It will delete the selected
    patches, or, if no patches are selected, the patch at point (and if
    there is no patch at point, complain). Before deleting, it will ask
    for confirmation.
    
    Thanks to David Kågedal <davidk@lysator.liu.se> for lots of elisp
    help.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5901dd6bcd6dff12f869cd5660abad46b2c6b630
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 20 23:33:24 2008 +0200

    Convert "stg delete" to the new infrastructure
    
    In the process, it gains the ability to delete any applied patch (not
    just the topmost one, like before), even when deleting patches from
    another branch. (However, when deleting patches on another branch, we
    obviously can't represent a conflict in the index and worktree, so any
    conflicts will make the operation abort.)
    
    One of the t1600 subtests made sure that we couldn't delete
    non-topmost patches, and had to be corrected.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 27b0f9e4669780e65afce41e64c713c8c6f4e196
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 20 23:33:24 2008 +0200

    Emacs mode: use "stg new --file"
    
    Creating a new patch is a great deal easier now that "stg new" has a
    --file flag.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit b70ff1674441a5f04903028996fe2d813e89bf27
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 20 23:33:24 2008 +0200

    Let "stg new" support more message options
    
    Let "stg new" support --file and --save-template in addition to
    --message. This is useful for scripting.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit bea1855455ee0df02edff19b26c49f8eb492fcf3
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 20 23:33:24 2008 +0200

    Refactor --author/--committer options
    
    This refactoring is specific to the new infrastructure, so only new
    and edit use it currently, but other commands can start using it as
    they are converted.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 4ed9cbbce2aa2abec4055d33307816fa75080080
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 20 23:33:24 2008 +0200

    Convert "stg new" to the new infrastructure
    
    This results in considerable code expansion, which is a sure sign that
    something needs to be abstracted away -- but to keep things simple,
    those transformations come as separate patches.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d75b554a40ff336180739e4a5d50b70456f3fc94
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 20 23:33:24 2008 +0200

    Disable patchlog test for "stg new"
    
    This will be broken by the "stg new" rewrite, so stop testing it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5c5234dbdfab2cd1a7d90ab2b3635fe536e39bbc
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 20 23:33:12 2008 +0200

    Try the built-in version string before git-describe
    
    Try to get the built-in version string first, and fall back to git
    describe if there is no built-in string, instead of the other way
    around. This makes computing the version string much cheaper in the
    common case (whenever StGit is not run directly from a git-controlled
    tree).
    
    In order for this to work when StGit _is_ run directly from a
    git-controlled tree, setup.py has to delete the builtin version file
    once the installation process is over. (Otherwise, the StGit version
    in a git-controlled tree would be frozen at whatever value it happened
    to have when setup.py was last run.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9564af74822b276d435319fc271eda591e5125a6
Merge: 52144ce 340793d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon May 19 22:56:31 2008 +0100

    Merge branch 'stable'

commit 340793d1f7dc889720ceef3271ca58187474d110
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon May 19 22:54:27 2008 +0100

    Allow export to write unapplied files as well
    
    This was an artificial limit which upset many people (including me).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 52144ce5f2bfb1268aee4a9999821987f8892dbf
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed May 14 02:04:32 2008 +0200

    Emacs mode: automatically cd up to root of worktree
    
    git's emacs mode automatically finds the root of the worktree, so that
    the user doesn't have to. Teach StGit's emacs mode the same trick by
    borrowing the git-get-top-dir function from git.
    
    The borrowed code was written by Alexandre Julliard <julliard@winehq.org>.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit def828cfb469ba358ae156f7f019dd0c013ef7df
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 13 23:50:31 2008 +0200

    Better StGit version tracking
    
    Instead of claiming to be the latest released version (really, a
    hardcoded string that we hope is the latest released version), run git
    describe to figure out what version we are, just like git does. Fall
    back to a hardcoded value that is generated at install time, or
    supplied in a release tarball.
    
    Currently, we have to give git describe the --tags flag, since StGit
    release tags are lightweight tags. This means we're going to pick up
    any lightweight tags the user makes, which isn't ideal. The solution
    is to start making annotated release tags, and then remove that flag.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a2ba4d541c7f651d08fbbdd87048975b52909cc2
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 13 23:50:27 2008 +0200

    Import version to a separate namespace
    
    The set of names we need from the version module is about to get too
    large to list explicitly, but we don't want to pollute the local
    namespace with every name from version. So do a qualified import of
    the module.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e5075287dec4478862ae435b69a0d3ffddfff0cb
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri May 9 00:24:11 2008 +0200

    Remove "stg" from start of log messages
    
    It's entirely redundant.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d9b2f20a72706d6b4f553a8a8e25bd67f87ed616
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Apr 20 15:17:42 2008 +0200

    Use test_cmp instead of diff -u in the test suite
    
    Since diff -u isn't available everywhere, and the user might want to
    use something else.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 3fa9eb264eb3b6800c15678ce6ed33224dc057f0
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Apr 20 15:17:42 2008 +0200

    Get rid of backticks in test-lib.sh
    
    The $(...) notation is just plain nicer.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 009a6a15262f045f09364569a0269ec0720e47a1
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Apr 20 15:17:41 2008 +0200

    Steal more test-lib.sh updates from git
    
    This patch incorporates the updates that were made to git's
    test-lib.sh from revision v1.2.2-66-g6643688 up to revision
    v1.5.5-67-g9a49e00. A few manual adjustments had to be made -- for
    example, the StGit tests assume that the repository starts out with an
    initial commit, and there's no need to try to get hold of a git binary
    other than the one reachable via $PATH. And the test_must_fail helper
    function is not that useful to us, since a crashing Python program
    won't kill the entire Python interpreter.
    
    The main improvement is that the test script output is now in color!
    
    Shortlog of the imported changes:
    
      Alex Riesen (2):
            Fix permissions on test scripts
            Do no colorify test output if stdout is not a terminal
    
      Christian Couder (1):
            Trace into a file or an open fd and refactor tracing code.
    
      Clemens Buchacher (1):
            http-push: add regression tests
    
      Eric Wong (3):
            tests: Set EDITOR=: and VISUAL=: globally
            test-lib: quiet down init-db output for tests
            Update tests to use test-chmtime
    
      Gerrit Pape (1):
            Set $HOME for selftests
    
      Jeff King (3):
            fix config reading in tests
            use build-time SHELL_PATH in test scripts
            add test_cmp function for test scripts
    
      Johannes Schindelin (2):
            Introduce GIT_TEMPLATE_DIR
            Make tests independent of global config files
    
      Johannes Sixt (1):
            test-lib.sh: A command dying due to a signal is an unexpected failure.
    
      Josh Triplett (1):
            Fall back to $EMAIL for missing GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL
    
      Junio C Hamano (26):
            Perl interface: make testsuite work again.
            Perly Git: make sure we do test the freshly built one.
            test-lib: unset GIT_TRACE
            Merge branch 'ml/trace'
            Merge branch 'master' into pb/gitpm
            Deprecate merge-recursive.py
            Merge branch 'jc/gitpm'
            remove merge-recursive-old
            fix testsuite: make sure they use templates freshly built from the source
            Revert "fix testsuite: make sure they use templates freshly built from the source"
            GIT_SKIP_TESTS: allow users to omit tests that are known to break
            t5400 send-pack test: try a bit more nontrivial transfer.
            Fix timestamp for test-tick
            t/test-lib.sh: Protect ourselves from common misconfiguration
            War on whitespace
            Merge branch 'ei/worktree+filter'
            Unset GIT_EDITOR while running tests.
            Sane use of test_expect_failure
            test: reword the final message of tests with known breakages
            tests: introduce test_must_fail
            Merge branch 'cb/http-test'
            tests: introduce test_must_fail
            test-lib: fix TERM to dumb for test repeatability
            Merge branch 'maint'
            Test: catch if trash cannot be removed
            test_must_fail: 129 is a valid error code from usage()
    
      Martin Waitz (1):
            test-lib: separate individual test better in verbose mode.
    
      Matthias Lederhofer (1):
            introduce GIT_WORK_TREE to specify the work tree
    
      Michele Ballabio (2):
            test-lib.sh: move error line after error() declaration
            Fix typo in a comment in t/test-lib.sh
    
      Nicolas Pitre (1):
            use 'init' instead of 'init-db' for shipped docs and tools
    
      Petr Baudis (1):
            Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging
    
      Pierre Habouzit (2):
            Add some fancy colors in the test library when terminal supports it.
            Support a --quiet option in the test-suite.
    
      Robin Rosenberg (1):
            Quote arguments to tr in test-lib
    
      Shawn O. Pearce (1):
            Default GIT_MERGE_VERBOSITY to 5 during tests.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 721ecd12f0ef7a212974d5040e3349c20f3a7cf4
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Apr 20 15:17:41 2008 +0200

    Use hardcoded author and committer names in tests
    
    There seems to be no reason for these to stay commented out -- in
    fact, commit v0.12-4-g5cd9e87 which introduced these lines seems to
    have left them commented out by mistake.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f3167489c16538cea5835bff466bfea8acfc25cb
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Apr 20 15:17:17 2008 +0200

    Handle commandline parsing errors gracefully
    
    The commandline option parser raises SystemExit after having explained
    to the user what she did wrong. A recent refactoring introduced a
    catch-all "except:" at the top level, which caught the SystemExit and
    printed a traceback.
    
    Let's just simply exit instead, like we used to.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d851da81409f07105c55d5088157e276cbc4fe13
Merge: 352446d 61fb81b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Apr 17 21:50:14 2008 +0100

    Merge branch 'stable'

commit 61fb81b963c1adb0abb08239c24fa4ee39c5929a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Apr 17 21:49:29 2008 +0100

    Fix the sync'ing of unapplied patches only
    
    When only unapplied patches are to be sync'ed, the command failed
    because the first patch was trying to be pushed twice.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 352446d45ea5eddb05d77179eeb94cec424587c7
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Apr 15 22:04:14 2008 +0200

    If a patch is not changed when pushing, reuse the same commit object
    
    It should be marginally faster since we don't have to create a new
    commit object, but mostly it's a cleanliness issue: rewriting history
    when we don't have to is bad.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 8ee1e4b4d295c6ec8c67ec40f6f9bc493ff7bf8c
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Apr 15 01:18:53 2008 +0200

    emacs mode: handle "stg status" output with #
    
    Recently, "stg status" started separating patch names and descriptions
    with # rather than |. This broke some parts of the emacs mode, such as
    coloring and patch selection.
    
    This patch makes the emacs mode accept either delimiter.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit fa2fa45e4ea2e767e1b678b4f303d0f64846df1a
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Apr 15 01:18:53 2008 +0200

    Log environment and cwd as well as the actual command
    
    When debugging subprocess calls (with STGIT_SUBPROCESS_LOG=debug),
    it's important to know the environment and working directory we pass
    to the subprocess, not just the command-line parameters.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f83d4b2ae9379d8c443036fcb56451f9396f63f4
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Apr 15 01:18:53 2008 +0200

    Don't both change directory and set GIT_WORK_TREE
    
    We used to both change the working directory and set GIT_WORK_TREE
    when calling git merge-recursive. This works with older versions of
    git (up to and including 1.5.4.x, or thereabouts) because
    merge-recursive ignores GIT_WORK_TREE. It stopped doing that sometime
    just before 1.5.5, which broke StGit. (Given both GIT_WORK_TREE=".."
    and cwd "..", it assumed the work tree was at "../..", instead of just
    ".." like we intended. This made t2800 fail.)
    
    Just dropping the cd would solve the problem for new gits, but would
    break StGit with older gits. But it works in both cases if we keep the
    cd, and unconditionally set GIT_WORK_TREE=".". So this patch does
    precisely that.
    
    (git read-tree -u -m is also called from IndexAndWorktree, and it
     seems to always ignore GIT_WORK_TREE just like merge-recursive used
     to do. The patch fixes all calls made from IndexAndWorktree, so we're
     good if read-tree starts heeding GIT_WORK_TREE in the future.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 1eae3bf5ef8561508d83845f27b61c7533ba3378
Merge: 719309a 943b9c1
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Apr 15 01:18:35 2008 +0200

    Merge branch 'stable' into stable-master-merge

commit 943b9c1a483467ffa317f729a1b7408b52b0b218
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Apr 15 01:16:49 2008 +0200

    Make t1003-new executable
    
    It's not required, strictly speaking, but it's convenient. And
    consistent with the other tests.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c9804555c2eccd3d09b9ae5d18d4e44f5b7475fa
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Apr 13 15:38:47 2008 +0200

    Fix problems in t1000-branch-create
    
    There were a number of problems with t1000-branch-create:
    
      * It assumed that refs were not packed. I added calls to show-ref to
        spot any packed refs.
    
      * It reused the same name for several consecutive branch creation
        tests. This causes a domino effect if one of the subtests fail. I
        made the subtests use different names.
    
      * It tried to make sure that we couldn't create a branch if there
        was a broken ref by the same name. Unfortunately that test fails
        -- we don't create the branch, but we point HEAD to it. This
        causes many subsequent operations to fail. I marked this test as a
        known failure, and added some reset code so that subsequent
        subtests don't die because of this.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 719309aa54c8fa43bd8700f09b1e293923ed4e0a
Merge: d714caa bd3f013
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Mar 25 20:40:22 2008 +0000

    Merge branch 'stable'

commit bd3f01319a03fc883d391f24639176f0f65727e5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 19:23:49 2008 +0000

    Release 0.14.2
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f3cec16e70129a705ec33feacf1cfbc6258ed8a8
Author: Angus Salkeld <ahsalkeld@gmail.com>
Date:   Mon Mar 24 18:54:28 2008 +0000

    stg mail crashes when there is no patch description
    
    The error is:
    File "/usr/lib/python2.4/site-packages/stgit/commands/mail.py", line
    397, in __build_message
    descr = p.get_description().strip()
    AttributeError: 'NoneType' object has no attribute 'strip'
    
    This patch tries to handle this a bit better by setting the
    description to "<empty message>" and forcing the edit_patches option
    on.

commit 8d9e6a6c93568de2c0525cd18ab13097740b89a2
Author: Alex Chiang <achiang@hp.com>
Date:   Mon Mar 24 18:54:10 2008 +0000

    Better "stg rebase" help text
    
    Enhance rebase help string by providing guidance on merge conflict
    resolution during a rebase.
    
    Based on text suggested by Catalin Marinas.
    
    Signed-off-by: Alex Chiang <achiang@hp.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 65de4cc08dd734c21383ea92e88d34cee3364f22
Author: Onno Kortmann <onno@gmx.net>
Date:   Mon Mar 24 18:53:49 2008 +0000

    Test the 'stg rename' command
    
    This just tests the few basic cases of the stg rename command.
    
    Signed-off-by: Onno Kortmann <onno@gmx.net>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 8cc1078981faa7b5cf00edca711b3df27a14ad0a
Author: Onno Kortmann <onno@gmx.net>
Date:   Mon Mar 24 18:53:37 2008 +0000

    Simple rename of top-most patch
    
    Allow renaming of the top-most patch just by calling stg rename
    <new-patch-name>, instead of stg rename <old> <new>. This is for
    example helpful for those people who always have a typo or two in
    their patch names.
    
    Signed-off-by: Onno Kortmann <onno@gmx.net>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 03a1b83c50c7d056e21a0217b9086593b3a5a717
Author: Toby Allsopp <Toby.Allsopp@navman.co.nz>
Date:   Mon Mar 24 18:53:13 2008 +0000

    Fix "stg branch --delete" on a nonexistent branch
    
    Before this patch, I get the following:
    
     $ stg branch --delete tmp
     Deleting branch "tmp" ... Traceback (most recent call last):
       File "/usr/bin/stg", line 43, in ?
         main()
       File "/var/lib/python-support/python2.4/stgit/main.py", line 281, in main
         command.func(parser, options, args)
       File "/var/lib/python-support/python2.4/stgit/commands/branch.py", line 190, in func
         __delete_branch(args[0], options.force)
       File "/var/lib/python-support/python2.4/stgit/commands/branch.py", line 100, in __delete_branch
         doomed.delete(force)
       File "/var/lib/python-support/python2.4/stgit/stack.py", line 758, in delete
         except GitException:
     NameError: global name 'GitException' is not defined
    
    After it, I get:
    
     Deleting branch "tmp" ...
       Warning: Could not delete branch "tmp"
     done
    
    Signed-off-by: Toby Allsopp <toby.allsopp@navman.co.nz>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit b85450f9de77183fd9fc7900bb0d290adaaaf9fd
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Mar 24 18:50:47 2008 +0000

    Make documentation less confusing
    
    It's not just by default "stg new" doesn't do a refresh -- it never
    does.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit dbb0cf2c1d46199f8a4cc5e1b52b9a24494f794e
Author: Peter Oberndorfer <kumbayo84@arcor.de>
Date:   Mon Mar 24 18:47:38 2008 +0000

    replace "git repo-config" usage by "git config"
    
    This is necessary since "git repo-config" will be removed soon.
    
    Signed-off-by: Peter Oberndorfer <kumbayo84@arcor.de>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 25f9adc0063a5b34965205d9e9e1abc766650a68
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 18:46:27 2008 +0000

    Remove a newline from the e-mail template
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d714caa15d396f32cf8152a82a0e0a0e505cdf38
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 18:42:57 2008 +0000

    Allow picking of one commit id
    
    This was broken by a previous patch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1ca35edb6023b851ed203b37d067af92277cef70
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 18:42:09 2008 +0000

    Allow picking of one commit id
    
    This was broken by a previous patch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c70a7b27b0804ff978947be823effc6c954ea6a6
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 18:30:56 2008 +0000

    Remove the reordering side-effect of the latter sync changes
    
    If only some of the patches were specified for syncing, the command had the
    side effect of reordering the patches in the stack.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 386453020a7939cd7668da7666372017ef6a497c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 18:30:25 2008 +0000

    Remove the reordering side-effect of the latter sync changes
    
    If only some of the patches were specified for syncing, the command had the
    side effect of reordering the patches in the stack.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 42745a893a31a166346ab3ae8f6ecc7aacedc5ff
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 11:19:41 2008 +0000

    Fix sync to push the popped patches back after sync'ing
    
    The t2000-sync.py test was failing after the previous change to this command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 03af1025e51fb68a86b11197e78e2bed3a68e55d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 11:16:59 2008 +0000

    Fix sync to push the popped patches back after sync'ing
    
    The t2000-sync.py test was failing after the previous change to this command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d3cb28cac16572d8a5d1813bcbbe9dca20b3f61d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 10:19:49 2008 +0000

    Add a boundary to parse_patches in pick.py
    
    By specifying 'stg pick -B aaa ..', stgit would pick both applied and unapplied patches. Simply set the boundary to len(applied) so that unapplied patches have to be picked explicitly.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 896afcc92d6dc5772b090e0e299d82e2c80a577d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 10:19:28 2008 +0000

    Add a boundary to parse_patches in pick.py
    
    By specifying 'stg pick -B aaa ..', stgit would pick both applied and unapplied patches. Simply set the boundary to len(applied) so that unapplied patches have to be picked explicitly.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3c04f4304c3213f832d8b3f2d50de4351cae395a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 10:16:05 2008 +0000

    Refuse to send empty patches
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 62d513203fdc5e77d419dd47899d59d7a01269b4
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 10:16:05 2008 +0000

    Set umask to 0022 during the setup.py execution
    
    This allows template files to be installed with the proper rights.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 79ef25ac491bb8c6aa4510cce00f09f06b8bfdd2
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 09:51:39 2008 +0000

    Refuse to send empty patches
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 4e72d22a08687eb19c1a9358d0b7bc5bdf932eb7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 24 09:38:30 2008 +0000

    Set umask to 0022 during the setup.py execution
    
    This allows template files to be installed with the proper rights.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a5975709fd054e9664d6d7a8cddff200d4c3facd
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 20 23:12:33 2008 +0000

    Modify 'series' to use '#' instead of '|'
    
    This is useful if the output is dumped to a file which is later used
    for commands like 'float'. The text after '#' is considered a comment
    and ignored.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b85a27bc852a94855fc410a0921fcaef2d13506b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 20 23:12:33 2008 +0000

    Allow the synchronisation of the unapplied patches
    
    This is useful to avoid pushing patches when a sync operation failed
    and needs to be resumed.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6024afaa0dc5624a8552a96383b36058c4d2544c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 20 23:12:33 2008 +0000

    Check for unnecessary push/pop in 'float'
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6b32d275d6dbde5ede913e418a1d4fb8c6143732
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 20 23:12:32 2008 +0000

    Allow pick to import multiple patches
    
    This patch allows multiple patches on the "pick" command line.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 42f0b652f8f43150e7925f68962e593904beb1a3
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 20 23:12:32 2008 +0000

    Don't set the default authdate if none specified
    
    This way, we allow a patch editing to remove an existing date by not
    specifying it.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 809f4f1c1b59a01820f8d259306857cb42ef8ca8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 20 23:12:12 2008 +0000

    Modify 'series' to use '#' instead of '|'
    
    This is useful if the output is dumped to a file which is later used
    for commands like 'float'. The text after '#' is considered a comment
    and ignored.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d400d4bedcf82d1bb9a6399e5063ea9b86238328
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 20 23:12:12 2008 +0000

    Allow the synchronisation of the unapplied patches
    
    This is useful to avoid pushing patches when a sync operation failed
    and needs to be resumed.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ee8aedfa08745f94d54db5a6000b3e01345fc8d8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 20 23:12:12 2008 +0000

    Check for unnecessary push/pop in 'float'
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 074f71bb6ef53d2b269b7ccf933a64cf3eb072c2
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 20 23:12:12 2008 +0000

    Allow pick to import multiple patches
    
    This patch allows multiple patches on the "pick" command line.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2ee5c7edac140c8ba01b50593f16d56e2cee5f37
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 20 23:12:11 2008 +0000

    Don't set the default authdate if none specified
    
    This way, we allow a patch editing to remove an existing date by not
    specifying it.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 363d432f16ef2ba8b8f11e6b2402c35842a0a7e7
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Mar 20 23:12:11 2008 +0000

    Handle failed pushes differently depending on cause
    
    Specifically, if the push failed because of a merge conflict, the
    patch should be applied but empty; and if it fails for any other
    reason (such as a too-dirty worktree), the patch should not be
    applied.
    
    This fixes the data loss bug tested for by t3000.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 923309140a6f091df9ed7120d7c818586c980c86
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Mar 20 23:12:11 2008 +0000

    New test: conflicting push in dirty worktree
    
    When the result of a conflicting push can't be represented in the
    worktree because the worktree is dirty, the push should be aborted.
    Similarly, the push should be aborted if we have to do the merge in
    the worktree, but can't because the worktree is dirty.
    
    Add a new test that tests for this. It currently fails, in a bad way:
    the contents of the pushed patch is lost.
    
    (The test uses goto instead of push, because push doesn't use the new
    infrastructure yet. And old-infrastructure commands never have this
    bug, because they refuse to run with a dirty worktree.)
    
    This bug was found by Erik Sandberg <mandolaerik@gmail.com>, who also
    came up with the minimal test case that I turned into this new test.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 4fe3436ba426814d6682f585226961d29475b65e
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Mar 20 23:12:11 2008 +0000

    Make sure that we only uncommit commits with exactly one parent
    
    If we encounter a commit with 0, or 2 or more parents, fail with a
    nice error message instead of crashing.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit b9d9ba14bf9fc47ab1ae9c41e6e37029b9f31002
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Mar 20 23:12:10 2008 +0000

    Try uncommitting a commit with not exactly one parent
    
    This should fail cleanly -- and in fact it does. Except for printing
    an assertion backtrace instead of a nice error message. (This is a
    regression introduced by the conversion of "stg uncommit" to the new
    infrastructure.)
    
    Found by Erik Sandberg <mandolaerik@gmail.com>.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5b7169c024a96dd56e3e49e9ff5abf89f31593b2
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Mar 20 23:12:10 2008 +0000

    Make sure patches with no parents have an empty list of parents
    
    They used to have None instead of an empty list, which was
    inconsistent. (It went undetected for quite a while because StGit
    seldom needs to handle initial commits.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 08986eda4ab5b4737af311e4ccb5a1e987418e44
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Mar 20 23:12:10 2008 +0000

    Use a special exit code for bugs
    
    Use a special exit code (4) for any error condition that indicates a
    bug in StGit. This will be useful in the test suite.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c897c87c16c66b08cfd4568f3f7b1a4b7d5d55ff
Author: Angus Salkeld <ahsalkeld@gmail.com>
Date:   Thu Mar 20 23:12:10 2008 +0000

    stg mail crashes when there is no patch description
    
    The error is:
    File "/usr/lib/python2.4/site-packages/stgit/commands/mail.py", line
    397, in __build_message
    descr = p.get_description().strip()
    AttributeError: 'NoneType' object has no attribute 'strip'
    
    This patch tries to handle this a bit better by setting the
    description to "<empty message>" and forcing the edit_patches option
    on.

commit 467a0a0ec6081b61f1aae814685a2fc0ec7cf315
Author: Alex Chiang <achiang@hp.com>
Date:   Thu Mar 20 23:12:10 2008 +0000

    Better "stg rebase" help text
    
    Enhance rebase help string by providing guidance on merge conflict
    resolution during a rebase.
    
    Based on text suggested by Catalin Marinas.
    
    Signed-off-by: Alex Chiang <achiang@hp.com>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0a03ab4518fca921a8f427d283f29c0fe3625cb2
Author: Onno Kortmann <onno@gmx.net>
Date:   Thu Feb 21 22:43:18 2008 +0100

    Test the 'stg rename' command
    
    This just tests the few basic cases of the stg rename command.
    
    Signed-off-by: Onno Kortmann <onno@gmx.net>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f8a761e8562e50bdff88c598ff3916b4213072fd
Author: Onno Kortmann <onno@gmx.net>
Date:   Thu Feb 21 22:42:51 2008 +0100

    Simple rename of top-most patch
    
    Allow renaming of the top-most patch just by calling stg rename
    <new-patch-name>, instead of stg rename <old> <new>. This is for
    example helpful for those people who always have a typo or two in
    their patch names.
    
    Signed-off-by: Onno Kortmann <onno@gmx.net>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit fe79e94b3a3710235bf88bb8ec25cbe90d53985d
Author: Toby Allsopp <Toby.Allsopp@navman.co.nz>
Date:   Thu Feb 14 11:25:29 2008 +1300

    Fix "stg branch --delete" on a nonexistent branch
    
    Before this patch, I get the following:
    
     $ stg branch --delete tmp
     Deleting branch "tmp" ... Traceback (most recent call last):
       File "/usr/bin/stg", line 43, in ?
         main()
       File "/var/lib/python-support/python2.4/stgit/main.py", line 281, in main
         command.func(parser, options, args)
       File "/var/lib/python-support/python2.4/stgit/commands/branch.py", line 190, in func
         __delete_branch(args[0], options.force)
       File "/var/lib/python-support/python2.4/stgit/commands/branch.py", line 100, in __delete_branch
         doomed.delete(force)
       File "/var/lib/python-support/python2.4/stgit/stack.py", line 758, in delete
         except GitException:
     NameError: global name 'GitException' is not defined
    
    After it, I get:
    
     Deleting branch "tmp" ...
       Warning: Could not delete branch "tmp"
     done
    
    Signed-off-by: Toby Allsopp <toby.allsopp@navman.co.nz>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit b4d7f9ae065dbe45b19026e0950394a3b7092064
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Feb 11 23:21:53 2008 +0100

    Emacs mode: change "stg repair" binding
    
    It used to be C-r, but that's commonly used for reverse searching, so
    use R instead.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f3ba063be168a0d8946ca085e9cbe3ca516d1805
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Feb 12 03:15:53 2008 +0100

    Remove unused data field
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 8ae7dc9d485fe5f3fee02ead7f25133be7321614
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jan 31 15:36:58 2008 +0100

    Emacs mode: It's possible to edit unapplied patches now
    
    With the rewrite, "stg edit" gained the ability to edit unapplied
    patches, so the emacs mode no longer has to check that a patch is
    applied before trying to edit it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 4491d19b003ff492dcb614d88b32858743a9cc44
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Feb 1 04:37:56 2008 +0100

    Convert "stg edit" to the new infrastructure
    
    The --annotate and --undo switches were dropped in the conversion.
    --annotate could be re-added, but --undo is more problematic since the
    command will now rewrite any applied patches on top of the edited
    patch. It seems best to leave this job to the fabled general undo
    command, expected Real Soon Now.
    
    In addition to the usual improvements from the new infrastructure,
    this patch has some additional benefits:
    
      * There's a new -e/--edit flag, which forces interactive editing
        even if options such as --sign or --author are given. (Normally,
        interactive editing is skipped if the patch is modified with a
        commandline option.)
    
      * It's now possible to edit any patch, including unapplied patches.
        Even diff editing works for all patches, including unapplied
        patches. (In fact, editing unapplied patches is slightly safer,
        since they don't mind a dirty index/worktree.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a6a5abd815445a2e2fe08fa046d190d50455cce6
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Feb 1 06:12:17 2008 +0100

    Parse the date instead of treating it as an opaque string
    
    This is needed for when we want to display it, since the
    seconds-since-the-epoch format isn't that human-friendly.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 2558895ab5657f2b1040a675604a41fce82e8b56
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Jan 29 00:11:59 2008 +0100

    Teach new infrastructure to diff two trees
    
    Nothing uses this yet, but "stg edit" will soon.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d5d8a4f0b5609328027df9379282dddfbd2bbe58
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Jan 28 18:45:42 2008 +0100

    Teach new infrastructure to apply patches
    
    Two new methods: one index method that applies a patch to that index
    or fails without side-effects (without touching a worktree in either
    case); and one repository method that uses a temp index to apply a
    patch to a tree and returning the new tree (or None if the application
    failed), entirely side-effect free.
    
    Nothing uses this yet, but "stg edit" will soon.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 2057c23e53f033a4994eecfa004541f73f163e46
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Jan 28 23:11:32 2008 +0100

    Teach new infrastructure about the default author and committer
    
    As specified by the config options user.name and user.email, and the
    environment variables GIT_{AUTHOR,COMMITTER}_{NAME,EMAIL,DATE} (the
    latter overriding the former).
    
    Nothing uses this yet, but "stg edit" will soon.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c3a72ae18c57389495e88a3a97217c3138694232
Author: Peter Oberndorfer <kumbayo84@arcor.de>
Date:   Tue Jan 8 17:42:46 2008 +0100

    Add an --index option to "stg refresh"
    
    Add an --index option to "stg refresh" which takes the contents of the
    index as the new commit.
    
    This allows to stage only certain changes to a file by only adding the
    desired parts to the index with git-gui, ugit, git add -i or another
    tool that manipulates the index and then run stg refresh --index it.
    Also allows removing a file from a patch by running git reset HEAD^ --
    file_to_remove followed by a stg refresh --index.
    
    Signed-off-by: Peter Oberndorfer <kumbayo84@arcor.de>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit dcbb2c6afa8be9112eefb7793e75dc19e1ad6992
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jan 24 04:20:24 2008 +0100

    Read default diff options from the user's config
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit bdf72d71d7a55dfa852a108be20789e136ccb7e2
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jan 24 03:23:30 2008 +0100

    Let "stg show" use the unified --diff-opts handling
    
    This introduces a small UI change: "stg show" called that flag
    --show-opts. This could of course be avoided, but I don't think it's
    worth it, since git-diff and git-show accept mostly the same options.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 77eeb7f4b04e5c3b73b3b0d30605f469f8e8d1b5
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Feb 5 06:51:30 2008 +0100

    Reduce number of backslashes by using raw strings
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ed20728dff76be50247e5ba66f4ea499ae485930
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Feb 4 19:57:42 2008 +0100

    Make documentation less confusing
    
    It's not just by default "stg new" doesn't do a refresh -- it never
    does.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 24d417c440e0209ebd058af586e5fbfe5341f2bf
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Feb 10 15:43:41 2008 +0100

    Don't check out files if we don't have index+workdir
    
    It seems no one had tried to run a transaction without having an index
    and a workdir, but this is exacly the situation we get when operating
    on a stack other than the current one.
    
    The fix is simple: don't try to check out.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a639e7bbf3a6396254af76062ee88c22e4373340
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Jan 27 07:48:02 2008 +0100

    Don't clean away patches with conflicts
    
    If we have conflicts, it means that the topmost patch is empty because
    of those conflicts (since StGit explicitly makes a conflicting patch
    empty), so don't let "stg clean" touch it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 52e96a352da165a8b56dec8df9b026392fc8dd97
Author: Pavel Roskin <proski@gnu.org>
Date:   Fri Jan 25 03:55:17 2008 -0500

    Add test to ensure that "stg clean" preserves conflicting patches
    
    If "stg push" fails, the subsequent "stg clean" will remove the patch
    that could not be applied. I think it's wrong. Especially when doing
    "stg pull", it can happen that I want to run "stg clean" to get rid of
    the patches applied upstream so I can concentrate on the conflict.
    Instead, the conflicting patch is removed too.
    
    The test added by this patch should pass once the bug is fixed.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a45cea156746937c5d2e73c22cbcbf23479b4cfe
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Jan 27 14:31:31 2008 +0100

    Let the caller supply the diff text to diffstat()
    
    Almost all diffstat() callers already have the diff text, so they
    might as well pass it to diffstat() instead of letting it recompute
    it. In some cases this even makes for a code simplification since the
    diff (and thus diffstat) parameters were nontrivial.
    
    Also, diffstat() wasn't as versatile as diff(); for example, it didn't
    accept any extra diff options. This patch solves all of those problems
    as a side-effect.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c4f073ee7be827cf08965206bea8e37e7b97e53c
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Jan 28 21:19:34 2008 +0100

    Simplify editor selection logic
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9ee0285b485ac09a9407c4046107486cdb16c8c0
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Jan 28 22:20:09 2008 +0100

    Eliminate temp variable that's used just once
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e59292278da37450dec2aba6b87fc16d103a95bc
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Jan 27 13:27:35 2008 +0100

    Wrap excessively long line
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a0848ecfc1bee1de93d47e15c9cc3ec49b5a6516
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Jan 27 09:06:15 2008 +0100

    Create index and worktree objects just once
    
    Create the objects for a repository's default index, worktree, and
    index+worktree just once. Both for performance (though the gain is
    probably negligible), and for future-proofing if we ever add mutable
    state to those objects.
    
    And make them properties while we're at it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0b635fe6d38b6ca33a51056d00dd8431a3e2a116
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jan 24 07:07:08 2008 +0100

    Refactor --diff-opts handling
    
    Lots of commands take a -O/--diff-opts flag, and they all handle it
    identically. So break that out into a library function.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ea27ef9d69d777bc6722b5d99b033122b338ebbf
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jan 24 07:08:57 2008 +0100

    Remove unused default values
    
    This function was called from only one place, and the default values
    weren't used there, so they're useless.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0780be7902e231a02417445cba581b33a2c6add9
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jan 24 07:30:32 2008 +0100

    Homogenize buffer names
    
    It was driving me crazy that I couldn't tab-complete "*stg" to
    "*stgit*" because there was always a "*stgit edit*" buffer lying
    around.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a0c727a4c0ba36e0e5379d681cbbb0754b830587
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Jan 24 07:17:58 2008 +0100

    Don't keep old committer when rewriting a commit
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit cd885e085a697d5377956d5beb30e6030f224ccd
Author: Peter Oberndorfer <kumbayo84@arcor.de>
Date:   Wed Jan 16 21:58:26 2008 +0100

    replace "git repo-config" usage by "git config"
    
    This is necessary since "git repo-config" will be removed soon.
    
    Signed-off-by: Peter Oberndorfer <kumbayo84@arcor.de>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 45c4b2b0e5006620decbddb3c512021f7457640c
Author: Pavel Roskin <proski@gnu.org>
Date:   Fri Jan 11 23:58:03 2008 -0500

    Fix "stg edit --sign"
    
    It worked in 0.14, but was broken some time after the release.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit b8038cef20f401a08a38cb49f31be4bbef7013e0
Author: Peter Oberndorfer <kumbayo84@arcor.de>
Date:   Tue Jan 8 21:43:53 2008 +0100

    Don't mention removed "stg refresh" options
    
    Change usage string of refresh to not refer to removed options for
    changing the patch author, commiter and description.
    
    Signed-off-by: Peter Oberndorfer <kumbayo84@arcor.de>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 8d96d568f4e73e104ae8409fe552b3f47d944043
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 22:12:20 2007 +0100

    Make "stg goto" subdirectory safe
    
    This is not specific to "stg goto" -- it affects all commands that use
    the new infrastructure. (But of those, only goto and coalesce were
    subdirectory unsafe.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ab96cd1c21c3bb7aa4efd802da97ef6b3e426ed5
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 21:51:21 2007 +0100

    Test that "stg goto" can be called from a subdirectory
    
    It currently can't; therefore, the tests are marked as known failures.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ea0def18cab66a05f0b90c4cf1d0ce17ac29fe34
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Fri Dec 14 09:59:49 2007 +0100

    Emacs mode: coalesce command
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6df83d42732fd7fe8a55ac54714732e0dd6123d7
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Fri Dec 14 09:59:32 2007 +0100

    Emacs mode: Add mark command
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 980bde6a6c5b9a4a5cae0d8f7b863e477737a8f3
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 12 23:48:56 2007 +0100

    Make "stg commit" fancier
    
    Allow the user to commit any patch. Changed behavior: with no
    parameters, commit one applied patch, not all applied patches -- this
    is what uncommit does.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 3b0552a7afe9c6ab80aa29d902eadc70e95462a3
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 12 22:59:13 2007 +0100

    Convert "stg commit" to new infrastructure
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f9cc5e695144b69901e3b6130361934bc062d36e
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 12 21:56:42 2007 +0100

    Set exit code to 3 on merge conflict
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d568af721e596af12d0cde961da0030cbb43f3f0
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 12 21:08:46 2007 +0100

    stg coalesce: Support --file and --save-template
    
    --save-template was a bit tricky, because we want that
    
      * if we reached the stage where the message is needed without
        conflicts, the message should be written and no other side effects
        should occur; but
    
      * if we run into conflicts before reaching that point, behave just
        as if --save-template was not given.
    
    This makes this script
    
      stg coalesce --save-template <patches>
      if template was saved:
        let user edit template
        if user didn't abort:
          stg coalesce --file <patches>
    
    equivalent to
    
      stg coalesce <patches>
    
    with the added benefit that the user can abort the whole thing without
    visible side effects.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 59032ccd3656bbbdf53741bab4ccd2dc69356f04
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Dec 13 18:10:45 2007 +0100

    Expose transaction abort function
    
    Users of stack transactions may call abort() instead of run(), if they
    wish to roll back the transaction instead of committing it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 317b386f436f36763f86666d872a59e9fc44b7a9
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Nov 29 20:35:27 2007 +0100

    New infrastructure: Make sure that the branch is initialized
    
    The old infrastructure has been checking this for ages, but the new
    forgot to do so until now.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6df1a5f0f3e6a88b7e664ccd561c98689690c46c
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Nov 25 05:29:16 2007 +0100

    Convert "stg uncommit" to the new infrastructure
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5f9f06aa43b63185a3031076cfe05f4f86d78cde
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Dec 9 13:34:12 2007 +0100

    Let "stg goto" use the new infrastructure
    
    In the process, it loses the --keep option, since the new
    infrastructure always keeps local changes (and aborts cleanly if they
    are in the way).
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit b75457e8b8dff6ed3aa50c91766b72d43f385b0f
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Nov 24 17:34:03 2007 +0100

    Let "stg clean" use the new transaction primitives
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit dcd32afa048114031d86568de04a45f1791f6668
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Dec 9 08:56:12 2007 +0100

    Teach the new infrastructure about the index and worktree
    
    And use the new powers to make "stg coalesce" able to handle arbitrary
    patches, not just consecutive applied patches.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5b2666bab799830ac5e511f35103d04fc3968b32
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Dec 19 18:00:16 2007 +0000

    Remove a newline from the e-mail template
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d4e046cab1bcc37ebd34b497e775912493f91996
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Dec 19 18:00:15 2007 +0000

    Remove unused git functions like add, rm, copy
    
    They are no longer needed.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 05c688ad853c405089aa40b5fd99fd3028a47436
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Dec 19 18:00:15 2007 +0000

    Remove multiple stages returned by git.ls_files
    
    This patch uses a set to return unique file names from git.ls_files in
    case there are multiple stages in the index.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 40bd629038e0166f931c4e39b1ee5511d6dc18c1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Dec 19 18:00:15 2007 +0000

    Don't assume there is always a stage 2 in git.get_conflicts
    
    For example, the t1202-push-undo.sh test generates a conflict where a
    file was added in both current and patch but different content and
    missing in ancestor, therefore no stage 2.
    
    There could also be a case where stage 3 is missing if a file is
    removed by the patch being pushed.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 29197bc02c1b5087017da9a86214e9b620f0439e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Dec 19 18:00:15 2007 +0000

    Re-add the interactive merge
    
    This feature was dropped by previous changes to
    git.merge_recursive(). This patch modifies gitmergeonefile.merge() to
    only deal with interactive merges or simply check out the conflict
    stages. The stgit.commands.common.resolved() function was moved to
    git.resolved(). The patch also drops the git.merge() function since it
    can no longer use gitmergeonefile.merge() (different API) and modifies
    the 'sync' command to always use git.merge_recursive().
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f1dd3ef7a91a5ad35045992cde02f183679b1cc9
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:15 2007 +0000

    Let "stg applied" and "stg unapplied" use the new infrastructure
    
    This is a trivial change since these commands are so simple, but
    because these are the commands used by t4000-upgrade, we now test that
    the new infrastructure can upgrade old stacks.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 48b209cd91bc84c1f1a95080ba9c2c575eda0640
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:14 2007 +0000

    Add "stg coalesce"
    
    It coalesces two or more consecutive applied patches, with no need to
    touch index/worktree, and no possibiliy of conflicts.
    
    Future improvements could relax the "consecutive" and "applied"
    restrictions, by building a new chain of commits just like "stg push"
    will do once it's been converted to the new infrastructure.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit fe1cee2e49d9995852ba92d8fba1d064acf2fca9
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:14 2007 +0000

    Let "stg clean" use the new infrastructure
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f5c820a86c6a4200a3e3968457b99b6a4a0996e4
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:14 2007 +0000

    Upgrade older stacks to newest version
    
    This is of course needed by the new infrastructure as well. So break
    it out into its own file, where it can be used by both new and old
    infrastructure. This has the added benefit of making it easy to see
    that the upgrade code doesn't depend on anything it shouldn't.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5a8e991e2578d722a0fca6bc92f777d32079268d
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:14 2007 +0000

    Write metadata files used by the old infrastructure
    
    The new infrastructure doesn't use them, but they're needed to support
    the old infrastructure during the transition when both of them are in
    use.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit cbe4567e2be2b482868590e30464269d4a0343bb
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:14 2007 +0000

    New StGit core infrastructure: repository operations
    
    This is the first part of the New and Improved StGit core
    infrastructure. It has functions for manipulating the git repository
    (commits, refs, and so on), but doesn't yet touch the index or
    worktree.
    
    Currently not used by anything.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ba8021ffa93ee57b0e829a76f8fd426cf52da627
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:13 2007 +0000

    Remove "stg cp"
    
    Plain old "cp" and git-add can do the job just as well.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 18eec969384783c1dfd81cd54f7d1084b4a95d0d
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:13 2007 +0000

    Remove "stg rm"
    
    git-rm can do the same job just as well. Besides, since StGit notices
    when a file disappears, just "rm" can also do the job.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ea5b7bf3533205be4268d8e7d79198344161c819
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:13 2007 +0000

    Remove "stg add"
    
    git-add does the exact same job, so there's no need to have it in
    StGit.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 785552feb825d6ff07c20f981ad00991f13f471e
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:13 2007 +0000

    We keep the different stages of a conflict in the index now
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0fbf98010616f6c12312b8153dd34c462565a74d
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:13 2007 +0000

    Refactoring: pass more than one file to resolved()
    
    This lets us cut down on the number of calls to git.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c5bd76328bafd7cd95f826342c0741c2ad64a545
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:13 2007 +0000

    Fix "stg resolved" to work with new conflict representation
    
    The actual resolving is done by calling the same subroutine as "git
    add".
    
    Instead of using existing *.{ancestor,current,patches} files, the
    interactive merge has to create them from the index contents, and
    delete them afterwards.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a008f844a95a45267933e23c6cda31f430b70ba6
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:12 2007 +0000

    Better error message if merge fails
    
    This message is no longer printed in case of conflicts, just in case
    the merge really failed; so don't talk about conflicts in the error
    message.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d4f2b3e9bc83fd6e3063c856e3f1f203dcc5b304
Author: David Kågedal <david@virtutech.com>
Date:   Wed Dec 19 18:00:12 2007 +0000

    Ask git about unmerged files
    
    Don't look in the "conflicts" file for that, since it isn't updated. Also
    added a test that the check_conflicts() function works.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 78d1c847f77f3ed482574d75b682f1408cdf2002
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:12 2007 +0000

    Nicer conflict markers
    
    Instead of tagging the conflict markers with sha1 hashes, use
    "ancestor", "current", and "patched".
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6c76a03347dca249ac12f791d6321ff15889c64a
Author: David Kågedal <david@virtutech.com>
Date:   Wed Dec 19 18:00:12 2007 +0000

    Use the output from merge-recursive to list conflicts
    
    merge-recursive already has useful information about what the conflicts
    were, so we reuse that when pushing.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 350bcba5aeae79c9e8e6619d2b00ec1804c1390f
Author: David Kågedal <david@virtutech.com>
Date:   Wed Dec 19 18:00:12 2007 +0000

    Simplify merge_recursive
    
    Listing the unmerged files is unnecessary, since the information
    isn't really used anyway. Just note if the merge failed or succeeded.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 59c97ab4255eb651bc9bcc05c62bc45df3840e20
Author: David Kågedal <david@virtutech.com>
Date:   Wed Dec 19 18:00:11 2007 +0000

    Added a test case to check what happens when push finds a conflict
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f02be96172f8cf36e052ff86678646b1991ed283
Author: David Kågedal <david@virtutech.com>
Date:   Wed Dec 19 18:00:11 2007 +0000

    Leave working dir and index alone after failed (conflicting) push
    
    This leaves the index and working tree in the state that merge-recursive
    left it, with unmerged files in different stages, and the non-conflicting
    changes in the index.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit fab69eacedd180b5c67812336bfdb5f52f6a4ae5
Author: David Kågedal <david@virtutech.com>
Date:   Wed Dec 19 18:00:11 2007 +0000

    Split git.merge into two functions
    
    This only prepares for later simplifications.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 757c5455dd57c4178962f0920d7ccfdf617efa05
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:11 2007 +0000

    Write removed fields for backwards compatibility
    
    Start writing the "top", "bottom", and "bottom.old" fields again. The
    last two patches mean we don't need them anymore, but old versions of
    StGit still do.
    
    At some later time, we'll want to change the stack on-disk format so
    that these can be removed. But we'll probably want to do that as part
    of a larger change.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6b760799882407774730b2d75bb5616e6ffd9804
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Wed Dec 19 18:00:11 2007 +0000

    Remove the 'top' field
    
    The top is instead implicitly defined by the patch ref.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 8762753a9f1269a18aaac70a40e6b886d11fc664
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Wed Dec 19 18:00:10 2007 +0000

    Remove the 'bottom' field
    
    The bottom is instead always calculated from the top by getting its
    parent commit.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0e1c86f9ff8a81055a45c807cf1218d3ff28d986
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Wed Dec 19 18:00:10 2007 +0000

    Check bottom and invariants
    
    This code adds some checks that the bottom is actually always the
    parent of top.
    
    It also checks that the top is the same as what the patch ref points
    to.
    
    This is only to ensure that the next patches are correct.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 64c097a03aa2494c0d7b6c24eceb05d28dc3b02f
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Wed Dec 19 18:00:09 2007 +0000

    Emacs mode: Added stgit-new
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 07f464e02f4840faa12defe91bce6dd1e7bdd9a8
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Wed Dec 19 18:00:09 2007 +0000

    Emacs mode: added fontification
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0bca35c81b3718487aef6b8957b90d4aa27fe1b8
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Wed Dec 19 18:00:09 2007 +0000

    Emacs mode: Add stgit-edit command
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c4aad9a7aefa620b30b5a54f432e2dc49a285c17
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Wed Dec 19 18:00:09 2007 +0000

    Emacs mode: added stgit-commit and stgit-uncommit
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 26201d961b21a4d1bdd6799f886114329b4ba7ab
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Wed Dec 19 18:00:09 2007 +0000

    Emacs mode: add stgit-repair
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9a3bb1f1dd54a022bfff393e5959fd116f4423f4
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Wed Dec 19 18:00:09 2007 +0000

    Emacs mode: Bind n and p
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 34afb86c94c81a0a7fdcd8cc432238659da41532
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Wed Dec 19 18:00:08 2007 +0000

    Emacs mode: Improve the output buffer state
    
    Make the output buffer have the correct default-directory, and make it
    read-only and unmodified.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 2870f8b8d5544580dbab32b91c2de488dcc5e522
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:08 2007 +0000

    Emacs mode: show patches' short description
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit c7adf5ef28be4b410a0acfb651d0ad68ab1e01f1
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:08 2007 +0000

    Emacs mode: Bind "G" to "stg goto"
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit f9182fcafc4fb715758c5da6d5232ec4d012a2e3
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:08 2007 +0000

    Emacs mode: Let "P" push or pop patch at point
    
    When the user presses "P", push or pop the patch at point depending on
    whether it's applied or unapplied.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit 82a12e6e69b54fce426b71c5889303977fb9cdb9
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:08 2007 +0000

    Emacs mode: push/pop next patch, not patch at point
    
    The three operations we should have are:
    
      * Pop the topmost applied patch, no matter where point is.
    
      * Push the first unapplied patch, no matter where point is.
    
      * Push/pop the patch at point, depending on whether it's currently
        applied.
    
    This patch makes "<" and ">" do the first two operations. The third is
    coming in a later patch.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit 2ee7506c60b1a47777687f8128a011bdbacde3f4
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:07 2007 +0000

    Emacs mode: Makefile for building stgit.el
    
    Shamelessly stolen from git's contrib/emacs/Makefile.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit 3a59f3dbfd1fcf5d04e55b15eb01ae4b4bb61c0f
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:07 2007 +0000

    Emacs mode: Add an explanatory header
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit 0663524d44cf6256c812a186feca2e9b4d8d1aa7
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 19 18:00:07 2007 +0000

    Emacs mode: Show keybindings when user presses "h" or "?"
    
    These are the same keys the git emacs mode uses.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>

commit 56d81fe5a024541ee70ee05530b6b903cfe14f12
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Wed Dec 19 18:00:07 2007 +0000

    Add an StGit mode for emacs
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5be69cd8d89bd89be31364e9c0fd9e947b6ef644
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 12 23:44:12 2007 +0100

    Name the exit codes to improve legibility
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a08e424021d32bf93ee7bb13ed0a9d7313367660
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Dec 13 00:13:55 2007 +0100

    Make generic --message/--file/--save-template flags
    
    And let "stg edit" use them.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c37f9747025267b3814a2bb878f6bde0cc8e19d2
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Dec 12 22:33:32 2007 +0100

    Let parse_patch take a string instead of a file parameter
    
    This makes it more generally useful, since all future callers may not
    have the input in a file.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 8a88f7cb553d1ff6f1aa5327a27aeb3eecc49e78
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Mon Dec 10 22:43:55 2007 +0100

    Treat filename '-' as stdin/stdout in edit
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 3cbb569f920044068317ddd0dee747e5d021a38f
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Tue Dec 11 12:00:16 2007 +0100

    Added --save-template flag to edit command
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 640f16c756a63521b2af141ff5663760a6628fb1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 11 23:51:54 2007 +0000

    Release 0.14.1
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e9827449233f4dee8a4a6c045409edc93792862f
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Dec 11 15:23:47 2007 +0100

    Fix typo: we require Python 2.4, not 2.5
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 87c8a573e61d900c7304a4e4a4808199f31ef1f6
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Dec 9 23:45:08 2007 +0000

    Release 0.14
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ed9256cea646a5384fb258eb9a3610b112a78a90
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Dec 9 23:32:58 2007 +0000

    Better handling of binary files (bug #8495)
    
    The patch adds the '--binary' option to the git-diff-tree and git-diff-index
    commands. The git-apply no longer needs this flag as it is set by default.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e2c86cdeafe3d8e1f58117c16a17b0438e4d64b1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Dec 8 23:16:30 2007 +0000

    Allow only certain gitk exit codes as valid
    
    This patch fixes the log and series commands to not report an error when
    gitk is killed by the user.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b6586079958a36632a2773e1aacce15bbf431a77
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Dec 8 12:00:10 2007 +0100

    Don't use test_expect_failure for tests that are supposed to work
    
    test_expect_failure is only for marking known bugs.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 289687b4c70e165b5a4809bfcb9f8608f1b55bd3
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Dec 8 09:27:22 2007 +0100

    Discard exitcode of subprocess in a better way
    
    Discard the exit code in a way that meshes better with the existing
    handling of exit codes.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f7a73141ca0db04818f958e68667f5b3f3019550
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Dec 8 10:30:40 2007 +0100

    Fix bashism
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 003753379ff42f2c7d1a69cd1b77b95384f19ea2
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 7 21:19:25 2007 +0000

    Make sure the refid given to 'mail' has the angle brackets
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ff432158b249307d44177db1adc569f726eefb18
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 7 21:19:25 2007 +0000

    Some clean-up of the branch manipulation commands
    
    A GIT branch couldn't be deleted if it wasn't a StGIT stack. Added
    tests for the creation of branches when the current branch isn't a
    stack.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit edddb24917ca00327b45fb8764455679f1ef6b09
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 7 21:19:25 2007 +0000

    Ignore the gitk exit code in 'stg log -g' (bug #10010)
    
    The patch adds the 'exitcode' boolean argument to Run.run() and
    modifies the 'log' command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 380fde1274e37412d348396acb5e0e31daf6ef91
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 7 21:19:25 2007 +0000

    Add the 'log --number' option to limit the output
    
    The patch also changes the construction of the string when --patch is
    supplied to avoid resource consumption (using a list and joining at
    the end rather than creating a bigger and bigger string).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1b4b00fa921c9a21e7c7086fb445f51c75bd46dd
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 7 21:19:24 2007 +0000

    Change the file timestamp in 'resolved --reset' (bug #10017)
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d679e110f3641569dcf8562e9b378c671e86ae2d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 7 21:19:24 2007 +0000

    Allow 'show' and 'id' to work on non-StGIT branches (bug #10011)
    
    Some clean-up to only access the current series object if needed.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 683840616efea425300859fe838add2b6b559a2c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 7 21:16:36 2007 +0000

    git.pretty_commit() re-implemented with "git show" (bug #10018)
    
    This way, it honours the diff.renames etc. options.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 453d47aec1a82cef50b71befaceae17a3df6e5d3
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 7 21:16:36 2007 +0000

    Check the minimum required versions of GIT and Python (bug #10218)
    
    The patch modifies the setup.py script to check the minimum versions
    of GIT and Python required for building and installing StGIT. They are
    currently set to git-1.5.2 and Python-2.4.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 9938103fc5b4082d84f21eca0668b3b58913c895
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 7 21:16:36 2007 +0000

    Add a test for the 'mail --attach' command
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e5c32acfbabf6f00c3189402ba4493db7dba60fc
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 6 23:28:42 2007 +0000

    Allow multipart templates for patch e-mails (bug #10237)
    
    If the template is a multipart MIME message, it sets the charset only to
    the payloads. The patch also adds the '--attach' option to 'mail' which uses
    the templates/mailattch.tmpl template file.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 91413512c5afe7c69aabf4367a9ff8ed1df21efb
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 4 21:46:14 2007 +0000

    Clean-up if the branch creation fails (bug #10015)
    
    If the tree switching fails during the branch creation, the new head
    will be reverted and the new branch deleted.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8319e9ba97c44bb88335aa7a3f22060ea6f8eb07
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Dec 3 10:30:20 2007 +0000

    Correctly identify the parent branch (bug #10014)
    
    Any valid git ref was identified as a possible parent branch. This patch
    adds a check for the refs listed by git-show-ref.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ca66756b4a6db44d87296263c75802619496d1ce
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Dec 1 23:00:00 2007 +0000

    Check for disappeared newborn files in git.tree_status (bug #8516)
    
    If a file is added to the index (stg add) but is removed from the shell,
    git.tree_status doesn't detect it but other commands like push fail. The
    patch adds a call to 'git diff-files' in git.tree_status.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit cb68860194290ad4eb6a2baa65a53a756ad98b7b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Dec 1 22:59:59 2007 +0000

    Make Series.refresh_patch automatically save the undo information
    
    The patch pushing with was losing the undo information because the arguments
    passed to refresh_patch. The backup argument now defaults to True since
    this is needed in most of the cases.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8d2b87ac26d01c7110d911aefea8988ca5a9b183
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Nov 30 02:20:03 2007 +0100

    Make "stg repair" help text more helpful
    
    Specifically, point out that if messing up the branch with git
    commands was a mistake, the user should run "git reset", not "stg
    repair".
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a138c01c81755bd2ac35f3d9726f73596292ab87
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Nov 27 22:30:21 2007 +0000

    Improve the t1205 test for push
    
    Bug #9311 reported in the past for a push conflict with an unrecorded
    file. It is no longer reproducible but test added for future
    regression.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c26ca1b2e0ec33d9dfef664970f7cf7b329606a7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Nov 27 10:32:12 2007 +0000

    Keep the patch log when import --replace deletes patches
    
    This is a fix for bug #10123.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1540d38a2c35d409784929ff6d91aedf6f60ebb7
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Nov 25 12:42:35 2007 +0100

    Add missing switch to "stg uncommit" usage line
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a46f1a6334793bf529692096b3e0972e3f884965
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Nov 25 09:52:04 2007 +0100

    Push and pop don't have --to flags anymore
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 70661cb79d4cbd4bc6c9c21605822f2b75785c2c
Author: Yann Dirson <ydirson@altern.org>
Date:   Thu Nov 22 22:23:34 2007 +0100

    stg-gitk: allow passing args to gitk; add --help.
    
    Quite handy to further limit the commits to be shown.

commit 38baedf221996ed584d14a561947395656f9c0e5
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Wed Nov 21 11:35:59 2007 +0100

    Added test case for stg refresh
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 1576d68145860b6d5b4fdaec3e130941a2d6c6fb
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Nov 14 21:14:55 2007 +0000

    Execute the 'git ...' rather than 'git-...'
    
    Since many commands are now built into the git binary, it doesn't make
    sense to run the git-... scripts. The patch modifies the GRun class to
    pass the 'git' file name together with the command arguments. It also
    modifies all the other calls to git-...
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e8813959aa3a7c41ffef61d06068b10519bd4830
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Nov 14 21:14:55 2007 +0000

    'stg pop --keep' doesn't update the index
    
    While git.apply_diff works correctly, the git.switch implementation
    doesn't update the index (only the HEAD) and a subsequent 'stg refresh'
    would merge all the popped patches into the current one ('stg refresh
    --patch' fails in the same way). This patch fixes git.switch to read the
    new index (git-read-tree) if keep == True.
    
    Before commit a77bfa77 (to fix bug #8972), git-apply had the --index
    option to automatically update the index but it was failing in many
    cases.
    
    The drawback is that a subsequent git-update-index takes longer than
    usual, but at least we have a correct behaviour.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8f6ad9212ca4cd33c3911735622f09b80f31af4f
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Nov 12 10:57:09 2007 +0000

    Allow the diff showing in the log command if patch modified by edit
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 490add07e9490b2654d22ca2cd3b8dcc0cc0cc9b
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Nov 11 13:39:12 2007 +0100

    stg repair: Patchify non-patch commits between patches
    
    This teaches "stg repair" to find non-patch commits that sit between
    patches, and turn them into patches. This situation can happen e.g.
    like this:
    
      stg new -m A && stg new -m B && stg new -m C
      stg pop A B C
      stg push B
      echo foo > foo && git add foo && stg refresh
      git reset --hard $(stg id C)
    
    The old "stg repair" would at this point simply conclude that A and C
    are applied, and B unapplied. However, B's old commit is still between
    them even though it's not a patch, which will cause problems later --
    StGit generally assumes that the applied patches are a consecutive
    string of commits. The new "stg repair", on the other hand, will find
    B's old commit, and create a new patch for it.
    
    One downside of this change is that we can no longer conclude that all
    is well just because head == top, so no-op runs of "stg repair" just
    got more expensive.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 051090dd538aa6c025a22ae896e2af1713e1522f
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Nov 11 14:07:36 2007 +0100

    Rename "stg assimilate" to "stg repair"
    
    With the capabilities it's gained lately, this is a better name.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d96796efbad18a2b877002a9bd4fc667d856259f
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Oct 8 05:52:06 2007 +0200

    Let some commands work with detached HEAD
    
    add, resolved, and status didn't use the crt_series that was
    initialized for them. So don't initialize it, since that means (1)
    less work and (2) they won't fail when HEAD is detached.
    
    Note that this doesn't completely fix the problem with detached HEAD:
    a number of other commands (e.g. branch) don't always need to refer to
    a current series, but currently fails on a detached HEAD even in those
    situations.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 3efc7fd5c2f59af5a1aba0c1b12b8baee454223a
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Nov 1 00:27:54 2007 +0100

    Cogito is deprecated, so don't point to it
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ec6084cb10a473ab381ded787f82cb9a4242b412
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Nov 8 05:54:26 2007 +0100

    Simple test for "stg clean"
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 7b601c9e979785f3521395a4f8b2abbe0b6408eb
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Nov 7 22:12:24 2007 +0000

    Fix more commands to run correctly in subdirectories
    
    Raised recently with bug #10276, commands manipulating patches might
    fail to run correctly (even losing data) in subdirectories, mainly
    because of git-apply (see the bug log for explanation). This patch
    forces all the patch-modifying commands to go to the top level
    directory before acting.
    
    In addition to the above, ot also fixes the resolved and export
    commands.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 42cd003ef2a190ec7f32068676d831ef6478c39f
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 2 21:25:58 2007 +0000

    Allow "branch --create" to be given a tag id
    
    In the past, this used to lead to a broken branch which could be
    difficult to even delete. This patch allows the branch to be created
    properly and be more tolerant to branch deletion.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d4356ac6143757131b58c95ca5c6a7b386cc6087
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Oct 23 22:20:53 2007 +0100

    Allow StGIT commands to run correctly in subdirectories
    
    This is mainly achieved by checking the file arguments with
    git-ls-files. The patch solves two main issues - the refresh/diff/st
    can run properly in subdirectories and commands like diff and status
    may no longer get nonexistent files as arguments without complaining.
    
    If one wants to check the status/diff or refresh the files in a
    subdirectory, the command arguments should be "." and this is expanded
    by git-ls-files to the subdirectory content (recursively).
    
    The patch removes some asserts as they are no longer needed since
    checks are performed by git-ls-files.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b029e3cca0ccda94c9256a4b86efc8d679235a1d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Oct 17 21:35:21 2007 +0100

    Do not raise an exception if no FETCH_HEAD
    
    The fetchcmd option in .git/config can be set to a command that
    doesn't generate a FETCH_HEAD file (like 'git svn fetch'). With this
    patch, StGIT will only warn if no FETCH_HEAD is found as it is quite
    likely that the rebasecmd doesn't need one ('git svn rebase'). The
    patch also modifies the 'fetch-rebase' case in pull.py so that it
    re-raises the exception initially raised by git.fetch_head() as this
    function has the correct information about the type of exception.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a77bfa77826bd527205401e8030574e2ddee7ebe
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Oct 17 21:35:21 2007 +0100

    "stg pop --keep" fails because of git-apply --index (bug #8972)
    
    This patch calls git-apply without --index if --keep is passed to the
    pop or goto commands.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1981b663ae51262a82481ecd91b89ab897919c63
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Oct 17 21:35:01 2007 +0100

    Fix assertion in patch creation
    
    Top and bottom can be unrelated if the "commit" argument is true since
    new_patch will generate a new commit object anyway. Fix the
    corresponding assert.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 677202284a6742d68c05622161ad10689c4ff4a4
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Oct 9 06:34:24 2007 +0200

    New test: "stg diff"
    
    A simple test to make sure that we can run "stg diff" without
    arguments, just to list local changes.
    
    Note that two subtests currently fail; these are due to plain "stg
    diff" failing on a branch where "stg init" hasn't been run, which is
    plainly a bug.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f72681803ee283536c595ae752489a9b6f2c4584
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Oct 9 06:20:34 2007 +0200

    Fix error message generation
    
    The right-hand-side operand of % is supposed to be a tuple with the
    same number of arguments as there are formatting codes in the
    left-hand-side operand, or just any value if there is just one
    formatting code; however, here it was a variable with a tuple value,
    which didn't work. So wrap it in a tuple of length one, and all is
    well again.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6972fd6b0cc82580fb94b3388e4d4879f69b09a8
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Oct 8 10:36:49 2007 +0200

    Don't have a global crt_series in stgit.commans.common
    
    Global variables baaad. Instead, pass it as a parameter to the
    functions that need it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 44a01a58ae27599d95932972c5137764478b9020
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Oct 8 07:46:27 2007 +0200

    Refactor crt_series creation
    
    Instead of hard-coding in main.py which commands do and don't need a
    current series, let them speak for themselves.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit acf901c19f3873572045d1c376deabb8eaf477e6
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Oct 8 07:15:33 2007 +0200

    Properly detect that HEAD is detached
    
    We still error out on a lot of places we shouldn't, e.g. "stg branch"
    when on a detached HEAD, but at least now we give a sane error
    message.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 762f6c8caf35b0352754d61b70c6ce8264bf2a6d
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Oct 8 07:26:14 2007 +0200

    Use our nice message printout wrapping system
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 20d80b857125496f334600c84fd66b4e2e13e9a0
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Oct 8 07:25:06 2007 +0200

    Allow caller to customize title of error/warning message
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 2299c463794f214b750ecc33e24779243ddc5aff
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Oct 8 00:14:11 2007 +0200

    Make "stg refresh" subdirectory safe
    
    Make "stg refresh" subdirectory safe by letting it internally cd up to
    the top of the worktree. This is possibly not the best long-term fix;
    one could argue that the refresh subroutine should instead be safe to
    run from a subdirectory. However, refreshing from a subdirectory
    currently only refreshes changes that are in the index, and not
    changes in the working directory, and that has to be fixed.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 78384a2ccda3bd6763d179b3381ff5fcd90c6a5f
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Oct 8 00:14:11 2007 +0200

    New test: try "stg refresh" in a subdirectory
    
    Currently, it doesn't work. Or rather, it does work for changes that
    are already in the index, which is the case for newly added files; but
    it doesn't work for changes that aren't in the index.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 89d889f42f6b0081c5e9e80b8b470d6770ff1e82
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 7 20:56:05 2007 +0200

    Make "stg push" subdirectory safe
    
    Make "stg push" subdirectory safe by letting it internally cd up to
    the top of the worktree. This is possibly not the best long-term fix;
    one could argue that the push subroutine should instead be safe to run
    from a subdirectory. However, pushing from a subdirectory currently
    erases the parts of a patch that doesn't touch that subdirectory, and
    that has to be fixed.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 86795a31727823391e412417010eccbfb6cbd6f9
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 7 19:36:59 2007 +0200

    New test: Try "stg push" in a subdirectory
    
    This currently fails for the non-fast-forward cases.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6dd8fafabb5b8e266a85f13c8851ca8a66a1a405
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 7 14:52:26 2007 +0200

    Infrastructure for current directory handling
    
    Add infrastructure to allow commands to specify if they need a git
    repository, if they need to be called from within the working tree,
    and if they should cd to the root of the working tree before doing
    anything else.
    
    For now, all commands are set to just require a repository (except
    "stg clone", which is set to require nothing), which means the only
    thing that's added is some very light error checking. The idea is to
    tighten this for commands that turn out to need it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 751c890baeb20118bcdea0b735c85995b7f588fa
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Sep 11 02:09:23 2007 +0200

    Remove the --force flag to "stg rebase" and "stg pull"
    
    Instead, always behave as if the force flag was given; that is, don't
    check if rebasing would leave a dangling commit behind. Reasons:
    
      * The check for this was very strict and caused a lot of false
        positives.
    
      * Everything is recorded in the reflog, so we can't actually lose
        commits.
    
    This fixes bug 9181.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d9d460a1eef90a883584d07b840f89ccdd332d45
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 7 15:48:33 2007 +0200

    Discard stderr output from git-rev-parse
    
    This gets rid of the annoying "fatal: Needed a single revision"
    messages that were printed in addition to StGit's own error message.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 4200335fdd4b2b0902c128c781594ebd6c42b821
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 7 15:09:11 2007 +0200

    Simplify debug level error checking
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 87c93eab2ff972a33bacecc9175e4a960c1408ec
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 7 15:07:11 2007 +0200

    Make a common superclass for all StGit exceptions
    
    This makes it easier to catch them all. (Indeed, the very long list of
    exceptions to catch in main.py was missing some of the exceptions.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 7e301a7348d0b3006ffa7b2309aa6f40cc29a292
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Oct 7 13:34:18 2007 +0200

    Don't split long and short description in "stg edit"
    
    "stg edit" used to present the patch information like this:
    
      Short description
    
      From: ...
      Date: ...
    
      Long description
    
    If the project follows the git convention with a single-line short
    description and follwed by a blank line and the rest of the
    description, this merely looks a little odd. However, for projects
    that don't follow that convention, presenting the first line
    separately is actively inconvenient; for example, it breaks emacs's
    fill-paragraph command.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit b52f3780e10a4657224f6988316bdbfef9ec2dda
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Oct 6 10:35:44 2007 +0200

    Fix up the help text for "stg edit"
    
    The sentence structure was strange, and the example format was
    somewhat misleading (StGit doesn't care about sign-off lines, for
    example).
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 8ee4f2a84d53c2ff7be4848f4e2e4951fe3ad97d
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Oct 6 10:17:30 2007 +0200

    New test: "stg pop --keep"
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f3684678515d865fa1a5eadc39bf680c83dd92e8
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Oct 6 09:47:29 2007 +0200

    Add --ack/--sign options to "stg new"
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 2b049e124c85dcdbbc531c86ec336c7a9b41db36
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Oct 1 18:42:30 2007 +0200

    Let "stg assimilate" handle missing patches
    
    If a patch was not mentioned in the applied/unapplied files,
    "assimilate" used to ignore it. Now it won't. The only information
    loss ensuing from this sequence of commands
    
      $ rm .git/patches/<branch>/{un,}applied
      $ touch .git/patches/<branch>/{un,}applied
      $ stg assimilate
    
    is now the order of the unapplied patches.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit b0dfbed363d50007959707f9f3fd058e8f67ac2e
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Aug 9 22:46:10 2007 +0200

    Test the new powers of "stg assimilate"
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ca2160163b2a8209e5b04e155a8f4dafbe9334c8
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Sep 25 20:21:46 2007 +0200

    Teach "stg assimilate" to repair patch reachability
    
    Rewrite "stg assimilate" so that it in addition to assimilating
    commits made on top of the patch stack also will rewrite the
    applied/unapplied files to reflect reality. A patch is considered to
    be applied if it is reachable from HEAD without passing through a
    merge, and unreachable otherwise.
    
    Performance is adequate: On my laptop, it takes less than four seconds
    to process the Linux tree (with hot caches).
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 764d110156e4951ca5671a700ee2402fa3597734
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Oct 5 22:44:52 2007 +0200

    Better diagnostic for wrong branch configuration.
    
    If the branch.*.merge parameter does not name a valid remote head,
    stgit would not rebase after a fetch, and would write instead
    'Rebasing to "None" ... done'.
    
    This patch makes this situation an error and tells the user what
    to fix in his repo configuration.

commit 1739d40a569e64da30df01500162f93d28ee6d19
Author: Pavel Roskin <proski@gnu.org>
Date:   Sun Sep 30 13:26:47 2007 -0400

    Support tags in uncommit - use git_id instead of rev_parse
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 64e15469e9ddf6e038b967beeae75c79d1a29460
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 28 22:51:15 2007 +0100

    Fix the rebasing with an external command
    
    Since git.py caches the HEAD value, rebasing with and external command
    didn't clear the cache and the subsequent push simple fast-forwards
    the tree. The patch creates a new git.rebase() function which takes
    care of custom rebase commands. It also removes "must_rebase" in
    pull.py as it doesn't seem to be used.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1d5cfe617d97d943b41f4be17c4f5955a7026297
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Sep 27 23:23:26 2007 +0100

    Allow the rebase command to be defined
    
    This is useful if one wants to use StGIT on top of a Subversion
    repository. After a "git svn clone" and "stg init", the following
    options have to be defined to allow "stg pull" to work properly:
    
    branch.master.remote = svn
    stgit.pull-policy = fetch-rebase
    stgit.fetchcmd = git svn fetch
    stgit.rebasecmd = git svn rebase
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 950b10954ad97b7827e6284be3f279b6ef802ccf
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Sep 26 04:03:15 2007 +0200

    Make Run available in stack.py
    
    Needed by shortlog(). Apparently, we have no test for this.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5f594e90e9a0867e1b87ffb8b0a077152246b56c
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 23 14:18:50 2007 +0200

    New policy: Only use test_expect_failure for broken tests
    
    New policy for tests:
    
      * For subtests whose commands fail when the test succeeds, use
        test_expect_success and shell negation (!). test_expect_failure is
        to be used only for subtests that are known to be broken.
    
      * Patches that introduce a subtest failure must change that subtest
        to use test_expect_failure.
    
    The reason for this change is to ensure that the test suite passes at
    all times, even in the middle of disruptive rewrites spread over
    several commits.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit cbd2f5f3521bdac24e1dc43d85a4dcdccd55d4c6
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Sep 23 13:42:22 2007 +0200

    Make sure that the output of "stg status" is sorted
    
    This simplifies testing, but also makes it easier for the user to find
    specific files.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e7800bdc7bc1e9e5a040c6e1d583a95566eb4f38
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sat Sep 15 00:32:00 2007 +0200

    Refactor Series.new_patch
    
    This shuffles some code so that the top and bottom never need to be
    set to anything other than a valid commit and its parent.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c0af9df25a01b9d6eb4dd7fddbff3c56be588123
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sat Sep 15 00:31:54 2007 +0200

    Clear up the semantics of Series.new_patch
    
    This patch adds a number of assertions to document and verify the
    complex restrictions of the input parameters to the Series.new_patch
    function. It also adds the requirement that 'before_existing' and
    'commit' cannot be true at the same time when calling it, instead of
    updating 'commit' inside the function.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6889c93cb0d60acea1af4b490559cc88b4128de5
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sat Sep 15 00:31:49 2007 +0200

    Add a 'bottom' parameter to Series.refresh_patch and use it
    
    By specifying a bottom for the new patch commit, it is no longer
    necessary to update the bottom of the patch before calling
    refresh_patch.  This ensures that the patch top always correspond to a
    commit object, and the bottom to its parent.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 692c15ef411fc32357d1cd3a4eb6559c8bb93c91
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sat Sep 15 00:31:44 2007 +0200

    Clean up Series.refresh_patch
    
    This patch does some minor simplifications of the code and updates the
    documentation string of Series.refresh_patch.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 74b457cd77928ecfc1dbddb503a08018db93b183
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sat Sep 15 00:31:39 2007 +0200

    Refactor Series.push_patch
    
    Refactor the Series.push_patch function to make the code flow
    simpler. It identifies the simple case and handles it early, and
    reduces the number of if statements.
    
    Most changes are simply indentation changes.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d12b37ad2e67c914ec0d63d0877bf1ac90f7e044
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sat Sep 15 00:31:34 2007 +0200

    Remove dead code from push_empty_patch
    
    Since the split from push_patch, the push_empty_patch contains some
    code that fills no purpose. Remove it and simplify the code.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit fe25b999a6259b475a2c377ded94e20abbb12034
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sat Sep 15 00:31:29 2007 +0200

    Split Series.push_patch in two
    
    The push_patch() function has a complex control flow and actually does
    two different things depending on the 'empty' parameter. This patch
    splits it in two functions without other code changes.
    
    Later patches will refactor the code to simplify it.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 4361d795da7d49ae5e997d4f077748950bb35601
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sat Sep 15 00:31:24 2007 +0200

    Moved that status function to the status command file
    
    The git.status() was more of a command than a library function, and
    was only used in one place.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 70028538744f36056327d77eed89151a83813d56
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sat Sep 15 00:31:19 2007 +0200

    Clear up semantics of tree_status
    
    The tree_status() function does a few slightly different things
    depending on the arguments.  This patch adds checks that the arguments
    are consistent and that the returned value looks good.
    
    It also changes the semantics slightly.  If the 'files' parameter is
    None, it will run status on all files.  If 'files' is a list, it will
    run status on only those files.  This changes two things:
    
     1) If 'files' is the empty list, it will run status on no files.
     2) It 'files' is a list, it will never return the status for other files
    
    Clearing this up will make it easier to understand code that is using
    this function.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 98d8dc86e5559fd183c8240d59794a94e2ae67d3
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Sat Sep 15 00:31:14 2007 +0200

    Add some more tests of "stg status" output
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit cd41b7d7abf72367ec982e0cf441ec03806c3956
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Sep 24 00:54:06 2007 +0200

    New test: make sure tha we can run "stg help"
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ead8e89297dfabf7c290338a86c89f19c5ba7401
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Sep 22 23:38:30 2007 +0100

    Print 'updating patch' earlier in 'edit'
    
    Otherwise, the user waits without knowing what's going on.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2bdde74e540085e2c115d6d3dd77afa6d54e78aa
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Sep 22 10:23:37 2007 +0200

    Add simple test for "stg branch --delete"
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9a6bcbe26b6032c39031773da020fd7bf4015953
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Sep 22 10:22:18 2007 +0200

    Properly remove all config for a deleted branch
    
    This uses "git-config --remove-section", which was first released in
    git 1.5.1-rc1. I'm not sure if this is later than what we used to
    depend on; we already use "git-config --rename-section", but that's
    been in since git 1.5.0-rc0.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit bdea385bce305482d3c3b8ab7fb019e7acf4a521
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Sep 22 09:58:24 2007 +0200

    Don't try to delete the branch twice
    
    We already delete it in Stack.delete(), so don't do it here too.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 57059512207410968f8e796454b03ffdf118ef4e
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Sep 22 09:54:25 2007 +0200

    Don't special-case the "master" branch during branch delete
    
    It's unintuitive, unsymmetric and doesn't work if there is no
    "master". Instead, prohibit deletion of the current branch.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 744773937f0d4fca0a763b167811279e8d44b460
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Sep 14 00:49:43 2007 +0200

    It doesn't make sense to sink below an unapplied patch
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d8b2e60157c129a363ecd4666f0fe4e46a917ece
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 14 18:58:16 2007 +0100

    Add 'edit' to the patchcommands list
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ed60fdae02d9317475eb64328ec683e1148c3f7b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 14 18:51:57 2007 +0100

    Add patch editing command
    
    This patch adds the 'edit' command which takes most of the similar
    functionality out of 'refresh'. In addition, it allows the direct
    patch diff editing with the '--diff' option. The patch/e-mail parsing
    functions were moved from stgit.commands.imprt to
    stgit.commands.common as they are now used by both 'import' and
    'edit'.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d0c5824b591c3e99d693cffbefc777d6bd7c2ccb
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Sep 11 05:57:14 2007 +0200

    Include summary of added/deleted files in diffstat
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 27827959c9b8cdd0dc82a8ff28b2f71b68f726d4
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Sep 11 05:57:14 2007 +0200

    Add shortlog of patch series to cover mail
    
    Unlike the cover mail diffstat, this covers exactly the selected
    patches and nothing else.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 99c4a4c52be1cc4603a8cef77c496a3a08d57f9a
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Sep 11 05:57:14 2007 +0200

    Add diffstat of whole patch series to cover mail
    
    Note: The diffstat is computed from the bottom of the first patch to
    the top of the last, which gives a correct result if and only if the
    series is contiguous. This is often the case, and handling anything
    but this case is nontrivial, as it would involve creating a temporary
    series of commits that are contiguous, with all the performance and
    merge problems that would entail.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 1275d9921fb6d07cc68591786a1e825a388dbe38
Author: Pavel Roskin <proski@gnu.org>
Date:   Sun Sep 9 22:48:15 2007 -0400

    Set GIT_TEMPLATE_DIR in the testsuite, like it's done in git
    
    Otherwise, the git configuration affects the testsuite.  Since we don't
    have git templates in the source tree, use our "template" directory.
    No templates are really needed, it's just a directory with known
    contents.
    
    Remove the command that moves .git/hooks away, as it's not created
    anymore.  Create empty .git/info/, as some tests assume it to exist.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 130df01aee26a4bfca276047ae1ba914352453c5
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Sep 11 05:57:14 2007 +0200

    Add --sign and --ack options to "stg import"
    
    Do this by factoring out the handling of these options from "stg
    refresh".
    
    Also, don't add sign lines that are already present.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c895bfc842095f487ac1ee18c36945a4f6900a63
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Sep 11 03:34:08 2007 +0200

    Add the any() and all() utility functions from Python 2.5
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5dfab1742228a9fd237cc124943fcab6d7e9b40a
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Sep 7 01:31:22 2007 +0200

    Discard stderr when determining if a patch is already applied
    
    An error from git-apply just means that the patch isn't applied.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5ae6fcce77a29221e15f6a4e8348bd4276960ba1
Author: Pavel Roskin <proski@gnu.org>
Date:   Wed Sep 5 12:57:22 2007 -0400

    git.__remotes_from_dir() should only return lists
    
    If there are no remotes, return empty list, not None.  The later doesn't
    work with builtin set().
    
    This fixes t1001-branch-rename.sh
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit 8c0c72c713459980d03716e3471806fff14f3c8a
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Sep 3 23:48:51 2007 +0200

    Use the builtin set() instead of sets.Set()
    
    We can do that now that we're guaranteed to have Python 2.4 or later.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9371394e3446236b55da8958b746ef0e0724fa9f
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Sep 3 23:48:45 2007 +0200

    Use subprocess.Popen to call git executables
    
    Replace popen2.Popen3 and os.spawn* with the superior
    subprocess.Popen. Now we can pass a modified environment to any
    subprocess, redirect input and output as we please, and the shell is
    no longer involved, meaning we don't have to worry about argument
    quoting. (We could already do all of that, just not at the same time.)
    
    This is a Python 2.4 library, so StGit now officially requires Python
    2.4 or later.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit eda4068ff351143504a416393514b9fc57fb7fae
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Sep 3 00:07:13 2007 +0200

    Test "stg status" more thoroughly
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit dee4e7d85eb805ac410e5e1a0052cfb4a40439b9
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Sep 3 00:06:16 2007 +0200

    Allow "stg add" when we have no stack
    
    There's simply no reason not to allow this. It behaves just like
    git-add, so it's well-defined enough.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6d0d7ee68bda85bd5b943d6836a5001cd887c939
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Aug 31 21:41:54 2007 +0200

    Let "stg status" ignore empty directories
    
    This was a really simple fix: just pass the right flag to
    git-ls-files. Since the output has a trailing \0, split() gives us an
    empty string at the end of the list that we have to throw away.
    (Curiously, there was an empty string at the end before this change
    too, but it disappeared somehow.)
    
    This fixes bug 9891.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f1c5519a186e6ed20a4206be093cc1b14e755984
Author: Pavel Roskin <proski@gnu.org>
Date:   Thu Aug 30 23:04:55 2007 -0400

    Fix refresh -es
    
    Use named arguments to call git.diff() from stack.edit_file().
    git.diff() doesn't write to files anymore, do it in the caller.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 09e022f5a3228abd81944f478ba4e6f1861406bd
Author: Pavel Roskin <proski@gnu.org>
Date:   Thu Aug 30 23:04:49 2007 -0400

    Use --force to overwrite python files
    
    Installing StGIT with "make install" is not working properly if another
    version is installed.  Files under ~/lib/python2.5/site-packages/stgit
    are not updated.
    
    This causes unexpected problems if switching between different branches
    of StGIT.
    
    Using "--force" ensures that the files in the tree are installed even if
    the already installed files are newer.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f5a9f89f783c75bccd1ddb68c7b63ad57539d5b6
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Aug 29 14:24:15 2007 +0200

    Don't fail just because a subprocess wrote stuff to stderr
    
    Instead, pass the message on to the user and assume the subprocess was
    successful. We need to do this since some git commands print warnings
    on stderr even though they succeed.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 8ea5a4e2f42e2ab2c92c2f75e90ee5f552b48364
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Aug 29 14:22:27 2007 +0200

    Write warnings and errors to stderr if not on a terminal
    
    Otherwise, they are suppressed along with the rest of the output. But
    if stdout is a terminal, so that output is not suppressed, write
    errors through the same Output object as info messages to get the
    indentation etc. right.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 14c88aa027b6b2106e8c23964a0433d34d357e9a
Author: David Kågedal <david@virtutech.com>
Date:   Fri Aug 17 17:06:33 2007 +0200

    Cleanup tree_status and use -z
    
    Improved the python code, eliminating temporary variables and using
    destructuring binds. And use NUL-separation instead of newlines.
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit fbc4cbf44108acfa7a563bc848402a0523081ccc
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Thu Aug 30 13:00:58 2007 +0200

    Add basic test for stg status
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 18669b744dbc40df9ce025f3db44a28f7aba29ff
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Aug 29 11:52:59 2007 +0100

    Add the '--exclusive' option to 'uncommit'
    
    This option makes the commits range given by the --to option
    exclusive, i.e. the last commit is not uncomitted.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1b814c72ae60604d2073d52b5c89ccbd4cee96e5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Aug 29 11:52:59 2007 +0100

    Make the maximum patch name length configurable
    
    The config variable is stgit.namelenth
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 7748ec707072ac014a106bdb56f8517d1f9a8915
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Aug 26 22:04:10 2007 +0200

    Add optional logging of subprocess execution
    
    Now that the subprocess calling has been refactored and is in a nice
    shape, it's quite simple to add some logging facilities. This patch
    adds two separate log modes, switched by the STG_SUBPROCESS_LOG
    environment variable:
    
      * Setting it to "debug" prints the executable name and all
        arguments, and the subprocess return value.
    
      * Setting it to "profile" prints just the executable name, and the
        (wallclock) time elapsed during the call.
    
      * Not setting it will disable logging, of course.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 06104c208673fdfdbcc320d59e8fb9658330edc3
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Aug 24 13:26:01 2007 +0200

    Assert that the argument to Run is a sequence of strings
    
    This runtime assertion makes bugs easier to find.
    
    In most other languages, we'd have been able to check this at compile
    time. But this is Python. Yay!
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f0de3f92cc85c3d5e1dd3511578b01e46652e93c
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Aug 21 18:15:38 2007 +0200

    Refactor subprocess creation
    
    Instead of having a gazillion different little functions that wrap
    os.spawnvp and popen2.Popen3, make a single wrapper that's flexible
    enough to cater to everyone. Apart from making the code cleaner and
    easier to read, this has the added benefit of making it possible to
    add little things such as extra safety checks and logging.
    
    Ideally, I'd have liked this wrapper to wrap subprocess.Popen, but
    that's only available in Python 2.4 and up, so we'll have to make do
    with os.spawnvp and popen2.Popen3 for now, even though they suck.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5e888f30cf851fc0989ba73f935f6da7681d4903
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Aug 26 22:04:10 2007 +0200

    Refactor output handling to break circular dependency
    
    I ran into problems when trying to use the fancy output handling in a
    new module that was (recursively) imported by stgit.util -- I couldn't
    use the out object because it wasn't defined yet.
    
    Break out the output handler to its own module to break the circular
    dependency.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 216a1524c4acbd9952ffaeec054e30cf14dde5fc
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Aug 25 20:10:38 2007 +0200

    Compile regexp just once
    
    It's a waste of time to recompile the same regexp every time we go
    through the loop.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 82792b453d94f72aedcd65a40bd72f12785ee2d9
Author: Karl Hasselström <kha@treskal.com>
Date:   Sat Aug 25 20:02:09 2007 +0200

    Replace "git repo-config" with "git config" in help texts
    
    It makes sense to still use git-repo-config instead of git-config in
    the code, since the latter name is not available in older gits, but
    it's better to use the new name in the help texts since the
    overwhelming majority of users aren't going to use a very old git.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 168815174b75e6037e8eb98cf7b34a91f789e7a4
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Aug 24 13:20:17 2007 +0200

    Don't write None to the conf file
    
    If we don't have a value for the remote, just don't write it. Writing
    None will either write the string "None" or crash StGIT, depending on
    how exactly the call is done -- and neither is what we want!
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 675394bcf1ec6fbcd0e4018e136dc65206952b09
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri Aug 24 11:49:24 2007 +0200

    Don't use test_expect_failure when more than one thing could fail
    
    It's much better to use ! for the part that you actually expect to
    fail; that way, the test will still scream if something _else_ goes
    wrong.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 5f1629be6d0d10aa2acb253c89c6f6c38fdf3cf2
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Aug 23 17:45:27 2007 +0100

    Allow 'import' to apply empty patches
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 05ec3711b232b8c37710a0dded6c5665516a59d0
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Thu Aug 23 17:45:26 2007 +0100

    Fixed indeterminism in t2102-pull-policy-rebase
    
    Signed-off-by: David Kågedal <davidk@lysator.liu.se>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 262d31dcab5f51e7da41086c94f0eecaee060a74
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Aug 23 17:45:26 2007 +0100

    Don't touch ref files manually
    
    Messing with files manually doesn't work if the refs are packed. The
    officially preferred way is to use git-update-ref, git-show-ref,
    et.al. So do that.
    
    As a consequence of this, we have some small behavior changes:
    
      * We used to not leave empty directories behind in the refs tree.
        But now that's all in the hands of git-update-ref, which does
        leave them behind. Tests that assumed the old behavior have been
        fixed.
    
      * We (that is, git-show-ref) no longer distinguish between a ref
        that doesn't exist and a ref that contains garbage. So the tests
        that assumed we'd fail when encountering a spurious ref with
        garbage in it have had to go through attitude readjustment.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 7e97cc0590f29482af022340df84a43b98c657ce
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun Jul 29 15:32:10 2007 +0200

    Include contrib scripts in the release tarball.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 4c0dd2995d5836c340489a2105d8518d7018ef27
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri May 25 02:25:38 2007 +0200

    Make use of the get_patch() utility function
    
    We already had it, but no one was using it
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit fe104619b4399822c7b8818137174544e75e7903
Author: David Kågedal <davidk@lysator.liu.se>
Date:   Fri Aug 17 13:36:51 2007 +0200

    Don't print unnecessary backtraces when testing
    
    When stg fails, and handles it properly, no backtrace should be printed,
    even when running tests with -v.  Getting a backtrace in the output signals
    some kind of bug, but in this case there is no bug.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 91fb87a65f2eb14968fee9160804c0ad25c286c8
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Aug 20 22:36:00 2007 +0100

    New test: make sure that StGIT can 	handle packed refs
    
    It currently can't, which is why this test is needed. The situation
    has recently taken a turn for the worse, since git-gc nowadays packs
    refs by default.

commit 337a07433f7aa7b6f3d0bf96696b4bc6092506d2
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Aug 20 22:36:00 2007 +0100

    Rename all config sections of a branch
    
    Just renaming the branch.branchname section doesn't rename the
    branch.branchname.stgit section -- we have to do that explicitly.
    
    This fixes bug 9692.
    
    Signed-off-by: Karl Hasselstrm <kha@treskal.com>

commit 2b5f6f656fa95d2ffefe7cc1261f4b0fc614f7b8
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Aug 20 22:36:00 2007 +0100

    Test that all branch config information is renamed
    
    This test currently fails (which is precisely why it's needed, of
    course.) This is bug 9692 in the bug tracker.
    
    Signed-off-by: Karl Hasselstrm <kha@treskal.com>

commit cec913c47b9630d6e24ba77c1323e234a4badffd
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Aug 20 22:36:00 2007 +0100

    Add an --smtp-server commandline option to "stg mail"
    
    The configuration option stgit.smtpserver is useful if you always talk
    to the same SMTP server. But I usually set up a temporary ssh tunnel,
    so I'd rather have a commandline option.
    
    Signed-off-by: Karl Hasselstrm <kha@treskal.com>

commit d67cfe11dabbf8590a6fb3278e1742bffe217493
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Aug 20 22:36:00 2007 +0100

    Verify patch status during the test
    
    Signed-off-by: Karl Hasselstrm <kha@treskal.com>

commit 9d72308d768d2a8ce395bdb9e5d67bcad7a279c7
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Aug 20 22:36:00 2007 +0100

    New test: make sure that popping doesn't change patch order
    
    This is mostly useful in conjunction with the DAG appliedness patches,
    since getting this right with a plain series file _ought_ to be
    trivial. Nevertheless ...
    
    Signed-off-by: Karl Hasselstrm <kha@treskal.com>

commit 2f830c0c3a36934b9688f2e445be1cb28e674a89
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Aug 20 22:36:00 2007 +0100

    Teach StGIT about core.excludesfile
    
    If there is a core.excludesfile option specified, let StGIT take
    exclude patterns from that file, since that's what the docs say, and
    what everyone else is already doing.
    
    Signed-off-by: Karl Hasselstrm <kha@treskal.com>

commit 6cf5ec9b2572ae59bfa59d1c23bc58cf4677ce0f
Author: Pavel Roskin <proski@gnu.org>
Date:   Mon Aug 20 22:36:00 2007 +0100

    Ask for SMTP password if it's not provided
    
    Mention this in examples/gitconfig, explain SMTP options in more detail.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit fc44c2cadaf20ba3deb2d5e6bb536f153fea2cea
Author: Pavel Roskin <proski@gnu.org>
Date:   Mon Aug 20 22:36:00 2007 +0100

    Add support for SMTP over Transport Layer Security (TLS)
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit f1dc6c2618a556d769e529964b38aa7697d2e871
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Aug 20 22:36:00 2007 +0100

    Fixed completion function hardcoding .git/.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 1c804cbaa55ba2dcdc6bfc33d6f4c86a68e0fcdc
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Aug 20 22:36:00 2007 +0100

    Provide file completion for add/resolved/refresh based on status.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit cbb3c5531fd624a35c48c6b5056597143ad55695
Author: Yann Dirson <yann.dirson@sagem.com>
Date:   Mon Aug 20 22:35:59 2007 +0100

    Add a no-act flag to stg-dispatch and stg-fold-file-from.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit d62357172398da1d389406d234dca3ff477083e8
Author: Yann Dirson <yann.dirson@sagem.com>
Date:   Mon Aug 20 22:35:59 2007 +0100

    Add -O flag to stg-fold-files-from.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 5a30e78c803f59d6b134dea657d90ebb42ea3b3a
Author: Yann Dirson <yann.dirson@sagem.com>
Date:   Mon Aug 20 22:35:59 2007 +0100

    New contrib scripts: stg-dispatch and stg-show.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 36c0e9cca8ccdbc7fc8051b7bd17aadb7e1f3174
Author: Yann Dirson <yann.dirson@sagem.com>
Date:   Mon Aug 20 22:35:59 2007 +0100

    Improve stg-fold-files-from doc.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 3daa941b9727987f2db405f6887ba852aecb3479
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jul 26 00:03:27 2007 +0100

    Release 0.13
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d210ac6a2ef18d790dad4c84ba7d049a5d8cd033
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jul 26 00:00:18 2007 +0100

    Add .mailmap file
    
    This is to correct various misspelled names.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f4fec4982a9c836eafb46591f27c2608c26b9bfd
Author: Yann Dirson <yann.dirson@sagem.com>
Date:   Tue Jul 24 20:57:46 2007 +0200

    Port stg-whatchanged improvements to stg-mdiff and have the former use the latter.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 124f286cf22cc750c879a6e2c2cbd782c9037849
Author: Yann Dirson <yann.dirson@sagem.com>
Date:   Tue Jul 24 20:57:41 2007 +0200

    Add to stg-mdiff the ability to pass options to underlying diff opts.
    
    So we now have -O, similar to the existing option in stg diff, to pass
    flags to git-diff when computing the 2 diffs to compare (-M, -C and -w
    come to mind as being potentially useful here), and -o can be used to
    tune the invocation of diff on those 2 diffs.
    
    Note that -o is only there temporarily, and will disappear when a more
    sophisticated process than plain diff will be used.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 67e5c1c662186cd78b193d87cecd1d3097b909da
Author: Yann Dirson <yann.dirson@sagem.com>
Date:   Tue Jul 24 20:57:35 2007 +0200

    Add range comparison support to stg-mdiff.
    
    We can now compare arbitrary deltas, not just single commits.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit af27af8e1c57b9802160060156e59742dfe4e0ba
Author: Yann Dirson <yann.dirson@sagem.com>
Date:   Tue Jul 24 20:57:30 2007 +0200

    Fix stg-whatchanged to deal with conflicts already solved.
    
    The most reliable way I found to decide if we were in the process of
    solving a conflict, including when all conflicted files have already
    been marked resolved, is to check the latest patchlog entry.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 501d024430ebad7e010362cc60f73713da6e787e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jul 18 00:01:22 2007 +0100

    Modify the assertion in Series.new_patch
    
    The bottom == head assertion is wrong when the patch is created as
    unapplied.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ea7634bb704b06deebea815ead41b30ed8544866
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jul 18 00:01:21 2007 +0100

    Allow refresh --annotate to replace the top log entry
    
    If there is no changes to check in and therefore no patch commit to
    generate, the --annotate option simply replaces the top log with one
    containing the notes.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2ff25eb8999966f579141542911c1fd1d53508ff
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jul 16 23:48:31 2007 +0100

    Add the '--expose' option to 'pick'
    
    This option is similar to the '-x' one of the git-cherry-pick
    command (maybe the naming is not really obvious). It appends the
    imported commit id to the patch log.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0ec93bfd95feee9d786e7eb73f9d49af07c5cb29
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jul 16 23:48:30 2007 +0100

    Do not call 'refresh' when creating a patch (bug #8872)
    
    The Series.new_patch function was calling refresh_patch which led to
    checking in the pending adds in the index. This patch adds the
    creation of a commit without writing the index.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit eff17c6baeb62c32a79ec6720c3c873f6ba778be
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jul 16 23:48:30 2007 +0100

    Allow 'refresh' to annotate the patch log entries
    
    With the '--annotate' option, the patch log entry generated by refresh
    can contain an additional message. The patch also removes the '-a'
    shortcut for '--author' and adds it to '--annotate' (the latter would
    be used more often).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0bc1343cccdec319c49b0f7c21a29236158d08c9
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Jul 16 23:48:30 2007 +0100

    Display a message when the server refused some recipients.
    
    When the smtp server directly refuses some recipients, an exception is
    only raised when no recipient got the parcel.  This patch displays the
    recipients which were denied.
    
    Subsequent delivery is still done, no change here.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit abdaa9e518c43a43980a651d6c61af72da52b15e
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Jul 16 23:48:29 2007 +0100

    Revert 'Disallow non-patch args to "stg show" (gna #8453).'
    
    This patch has a lot of side-effects that will break people's
    expectations.  There is much more that just this to do if we want to
    sanitize patch/commit/range addressing on the command-line, so that
    will wait till after 0.13.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit dd1b8fcc335c38c927cbf43d1d0e69ea3d54b1e0
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Jul 13 23:43:57 2007 +0100

    Add a constructor to PatchSet.
    
    Move __base_dir up into PatchSet as well, and add an accessor.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 0214be720e0e5a5bed5cd576deab12d449ff4bd9
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Jul 13 23:43:56 2007 +0100

    Document shortcoming of stg-k and stg-unnew.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 0d90f0acee6a0a2f29f7d1020319f657896f36ea
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Jul 13 23:43:56 2007 +0100

    Recognize refs under remotes/ as parent branch on stack creation.
    
    Also remove the "relaxed" parentbranch detecting logic (accepting
    anything with an embedded slash as a parent branch name), which was
    never invoked because of a bug, and looks like a bad idea anyway.
    Better add sensible namespaces when we feel a need for them, rather
    than accepting anything by default, with potentially unwanted results.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 1f396835a4b17f50b90d6564899abb5d4a71082d
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Jul 13 23:43:56 2007 +0100

    Forbid the "series --all --short" combination.
    
    That combination would otherwise simply augment with hidden patches
    the display we would have with --short, which does not seem useful,
    but can be confusing.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit cc9888a89b60ff6486ca17df2a9ffd703c6db5bb
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Jul 13 23:43:55 2007 +0100

    Make hidden patches visible to various commands (notably log, show, pick).
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit a892f43759fe75137cfdf5af10da32f41477a553
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Jul 13 23:43:55 2007 +0100

    Disallow non-patch args to "stg show" (gna #8453).
    
    Git-core refs and patch@branch args were not allowed in the
    multiple-argument form of "stg show".  For consistency we completely
    disallow them: git-core refs are available from git-show, and "stg
    show patch@branch" as "stg show patch -b branch".
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 8d8091578790731f2bf90bf7d10d377a0305e3a1
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Jul 13 23:43:55 2007 +0100

    Allow "git show --branch".
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit a67586829f9d4405a4690a5556e3df6a3fa23174
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jul 13 23:43:55 2007 +0100

    Add --keep option to goto
    
    This option is similar to the one for the pop command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6ee70d6ba3f6edd1d76a708fa5580fff6aae0380
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jul 13 23:43:55 2007 +0100

    Add '--update' option to 'refresh'
    
    This option is similar to the one from 'pick'. It only updates the
    files already part of the current patch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c2a8af1d63280cf5d00574e3e059735a61fd64c9
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jul 13 23:43:55 2007 +0100

    Add the --unrelated option to mail
    
    This option allows the unrelated patches to be sent without sequence
    numbering and as replies to the top one.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a2d4b0dc911efbfd8dc3b4f81571b46fa6b2ed1a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jul 13 23:43:54 2007 +0100

    'sync' code comments clean-up after commit 6b79a09c
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ab2e05744bac9a64f6239edb61403617ab456016
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Jun 25 23:24:56 2007 +0200

    If available, use gitk --argscmd in contrib/stg-gitk.
    
    This allows to ask gitk to recompute the list of patches to show at
    every refresh.  Before this, we had problems with 'stg-gitk --all':
    
     - deleting a patch that was existing at startup time would trigger an
     "unknown ref" error from gitk and force to quit/restart manually;
     - patches created since startup were only visible when applied, or
     when below one of the startup patches.
    
    Note that --argscmd is not in official gitk yet, so we don't try to
    use it if it's not available.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit f32c0bfa9db671b04597541749678ad46b6860af
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Jun 25 23:24:51 2007 +0200

    Fix t1200 to catch intermediate errors.
    
    All command sequences in tests should be linked with && or
    similar, to guard against potentially missing a regresssion.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 6b79a09cf777b209d875ab498e57a20643fd1bbf
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Jun 25 23:24:46 2007 +0200

    Changed sync not to use -b which has other semantics.
    
    Using --branch here is confusing from a UI point of view, and
    unnecessarily complicates implementation, making it more delicate to
    get rid of the crt-series global.  We now use --ref-branch (-B)
    instead.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 8ff4e9e0fd71a93ad943a186c814a2db5db64890
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Jun 25 23:24:41 2007 +0200

    Fixed thinko in error message.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 7438e0983a0fb852697d7162f6a1812d7ebb0c25
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Jun 25 23:24:36 2007 +0200

    Revert part of the reverted commit that we want to keep.
    
    - get rid of unused real_rebase parameter
    - revive git.all_refs()
    
    This commit can freely be used to demonstrate the usefulness of
    _always_ separating different issues in different patches :)
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit bb95cfba3b27f4fa1c82998874a9f288c379cb1c
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Jun 25 23:24:31 2007 +0200

    stg-cvs: update doc, and use correct setting for parent branch.
    
    This script had not been updated when we moved away from my wrong
    interpretation of branch.*.merge.
    
    At the same time, this includes some doc to set up a branch for use
    with this command, and propotes design flaws to such, instead of
    leaving them hidden among mere limitation of the implementation.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 3fca69b2cdcc288e96f335bbd7ecdc8bc6912749
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Jun 25 23:24:26 2007 +0200

    Fix contrib/stg-whatchanged way of identifying a conflict.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit f21ba53677d2e5820f2dc1774871bf8464729eea
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jun 22 22:21:56 2007 +0100

    Fix the importing of multipart emails
    
    The old version was assuming that there are only two parts - the
    description and the diff. However, it was failing for PGP-signed or
    other multipart encoded emails. This patch generates a full text from
    all the text/plain parts and parses it afterwards for description and
    diff. This solves the combination of inline or attached patches
    together with PGP-signed messages.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d436b1dac150bb6cd6def2da612aba7b5b950ee8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jun 22 22:21:55 2007 +0100

    Modify the 'patches' command to use the locally modified files
    
    With this patch, when running 'stg patches' without any arguments, it
    uses the locally modified files by default. This way one can see which
    patches are affected by the locally modified files.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f0b5d4dd2a3ad665a5bbaedf84bfb7c240831da4
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jun 21 23:04:49 2007 +0100

    Pass a string rather than an exception object in gitmergeonefile
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 48eaeebe87521ef92000d03d3d3408913ae31c53
Author: Yann Dirson <ydirson@altern.org>
Date:   Thu Jun 14 23:15:27 2007 +0200

    Update test-lib.sh from current git.
    
    Updated with changes to git up to rev
    664368886781b7c070233c002597b84628eec571, including:
    
    * GIT_SKIP_TESTS support, useful to run the testsuite bypassing tests
    known to fail
    * test_tick utility function to forge realistic commit dates
    * deprecation of git-init-db in favor of git-init
    * more environment safety cleanups
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit fb1cf8ec7442c555fa9d9006f3df5d47c53353c7
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Jun 12 22:57:06 2007 +0100

    Revert 'Changed rebasing safety check to look for reachability of
    stack base (gna bug #9181).'
    
    This patch is reverting commit
    bd69feaf7c3c94b6e7e216ea8091064af9cdfa97 (patch not yet ready for the
    master branch).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e4b8c5e722121c824d1c767f52f97c08fd6b5ca5
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Jun 12 22:57:06 2007 +0100

    Revert 'Test "stg rebase" after "stg commit"'
    
    This patch is reverting commit
    a02ba4077f12578fe31c99d903488804a656e1c4 (author Karl but assigned to
    Yann in error).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 57c05b31aa2ce889e818d38f8c927c6098727f9e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jun 12 22:57:08 2007 +0100

    Show a joined string rather than list when reporting GIT failures
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 69ffa22e9db275bc0a9ea9b67850ffb40cba21cc
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Jun 12 22:57:07 2007 +0100

    Rename branch.*.stgitformatversion to branch.*.stgit.stackformatversion.
    
    Nearly as discussed on the ml, with the name slightly modified to
    better allow other types of PatchSet.

commit 9171769c0c29da75a64ca63dba41151a65bfb7f2
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Jun 12 22:57:07 2007 +0100

    Move stack format-version checks into Stack class.
    
    This defines an interface which is called from PatchSet, and can
    (must) be implemented in classes inheriting PatchSet.

commit 47e24a742eecb8bf93bd4f94a72011f59c1980cf
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Jun 12 22:57:07 2007 +0100

    Abstract a PatchSet object out of Series.
    
    The goal is to move into PatchSet all functionnality that is not
    dependant of Series being a real stack, paving the way for handling
    parallel (hydra) stacks, or any other way to organize patches.

commit d37ff07984e8230e9444fdce2af0f8da3a46db64
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Jun 12 22:57:07 2007 +0100

    Use get/set_name for a stack's name.
    
    It is much more clear to use get_name() than get_branch(), and this is
    a step towards factoring stuff into a PatchSet class.

commit a7e0d4ee29d73438463fd9855a5e23dbae8cbfa0
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Jun 12 22:57:07 2007 +0100

    Have mail take the default for --prefix from stgit.mail.prefix.
    
    It is more convenient to set the prefix once and for all in the config
    file than each time on command line.

commit 2270bc4dc08aa1923c20c3717e88236338f1fb46
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Jun 12 22:57:07 2007 +0100

    Have series show empty hidden patches as hidden rather than empty.
    
    It is probably more important to show the hidden status of an empty
    patch, since "clean" will not delete it anyway, and the display would
    be ambiguous for a patch tagged "0" just before a patch tagged "!".

commit a02ba4077f12578fe31c99d903488804a656e1c4
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Jun 12 22:57:06 2007 +0100

    Test "stg rebase" after "stg commit"
    
    Two new tests for "stg rebase":
    
      1. Try to rebase to a commit that is ahead of HEAD. This should
         work, and does.
    
      2. Try to commit a patch, and then rebase. This doesn't work,
         because "stg rebase" aborts if orig-base != base, and "stg
         commit" doesn't update orig-base. (It does work if "stg rebase"
         is given the --force flag.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit bd69feaf7c3c94b6e7e216ea8091064af9cdfa97
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Jun 12 22:57:06 2007 +0100

    Changed rebasing safety check to look for reachability of stack base (gna bug #9181).
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 3dd412a16de7140fafbf738ba99f6a02e3780c51
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jun 8 23:46:11 2007 +0100

    Add my release scripts to the contrib directory
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 17364282a3b40e2c68f4d15ec878f22d73487fb9
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jun 8 23:18:04 2007 +0100

    Factor out common functionality into the utils.py file
    
    Sequences for writing or reading lists to/from files are moved to the
    stgit.utils file.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ca8b854cbf353ed87fd9284d50f69229bf40e22d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jun 8 23:13:34 2007 +0100

    Fix the hidden patches functionality (bug #9077)
    
    This patch fixes the misleading functionality of hiding/unhiding
    patches. Only unapplied patches can be hidden and they are now on a
    separate list. Commands like 'stg push --all' will not push hidden
    patches.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3faeaeb18acf7653134371a98364d195ca28ed31
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jun 7 23:13:57 2007 +0100

    Fix bug #9284 - error messages include abbreviated command
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b778633bf53e926a1e632d2413a0da3facea78f9
Author: Yann Dirson <ydirson@altern.org>
Date:   Thu Jun 7 00:01:52 2007 +0200

    Fixed typo in contrib/stg-whatchanged.
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit ec6ed33669abd849d5b6d5e6ea09ea58f7ced403
Author: Yann Dirson <ydirson@altern.org>
Date:   Thu Jun 7 00:01:47 2007 +0200

    Catch early trying rebasing to unknown ref, and add testcase.
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit b13d080c1b6f59d78c276932f72da1971cc6fd2d
Author: Yann Dirson <ydirson@altern.org>
Date:   Thu Jun 7 00:01:42 2007 +0200

    Robustify rebase test: check patches are reapplied.
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 789d8ecb1e0371098d07335672692f24554203ae
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Jun 6 23:05:22 2007 +0200

    Fix removal of series to nuke the formatversion config item.
    
    
    Since this parameter is now used to decide if the branch has already
    been initialised, not removing it forbids to create a stack with the
    same name as one that was deleted.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit c177ec71fb5eda5ddf5fd036bfbec1c971f9b9a8
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Jun 6 23:05:17 2007 +0200

    Fix removal of series with non-existant trash dir.
    
    
    Otherwise it is not possible to delete a stack that never had a patch
    deleted (eg. a newborn stack).
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit dfb3bddeb856a6f6751f8deaf5a0403ebada21a3
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Jun 4 23:14:43 2007 +0200

    Fix deletion and move of a hidden patch (gna bug #9244).
    
    
    We must unhide a patch before we delete it, or we get an exception
    while trying to unhide a non-existent patch.
    
    Similarly, when renaming a hidden patch, we must take care of hiding
    an unhiding at the right moment.
    
    Both problems introduced in commit
    841c7b2a6b015e3ab3331713cf10caf7a4fd0b49 when first indroducing patch
    hiding.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 2ace36ab494d7f3ee2748e74be92568725078828
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Jun 1 00:34:38 2007 +0200

    Add new --diff-opts/-O flag to diff- and status-related commands.
    
    
    This new flag allows to pass arbitrary flags to the git-diff calls
    underlying several StGIT commands.  It can be used to pass flags
    affecting both diff- and status-generating commands (eg. -M or -C), or
    flags only affecting diff-generating ones (eg. --color, --binary).
    
    It supercedes --binary for commands where it was allowed,
    '-O --binary' is now available for the same functionality.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 0d219030bbc792da477f721578e0acc1256fc6d0
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Jun 1 00:34:33 2007 +0200

    Make diff flags handling more modular.
    
    
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 23bb4e8fc7ebcfaac8913048af8c24875d721a7e
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Jun 1 00:34:28 2007 +0200

    Call external commands without a shell where possible.
    
    
    On my dev box it consistently improves performance when timing the
    full testsuite:
    
    before:
    
    user    2m22.509s
    sys     0m50.695s
    
    user    2m23.565s
    sys     0m49.399s
    
    user    2m23.497s
    sys     0m49.675s
    
    after:
    
    user    2m20.261s
    sys     0m45.687s
    
    user    2m21.485s
    sys     0m46.427s
    
    user    2m20.581s
    sys     0m45.367s
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 22584709bad164032e086e1f29da646c83be916b
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Jun 1 00:34:23 2007 +0200

    Add 2 new contrib scripts.
    
    
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit e2b1102c4e5b9fb88c0791d3c3371ad2e2fa0b38
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue May 22 21:45:53 2007 +0100

    Fix the automatic patch name generation for the pick command
    
    It was broken by a recent commit to unify the patch name generation.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 769cd397c35ac2304355a3545d1c7962c5a81891
Author: Petr Baudis <pasky@suse.cz>
Date:   Tue May 22 21:45:53 2007 +0100

    StGIT: Support Cc: fields in stg mail --auto
    
    Aside of Signed-off-by and Acked-by fields, Cc fields may occur in the
    message footer; include them in the auto-composed mail Cc list.
    
    Signed-off-by: Petr Baudis <pasky@suse.cz>

commit a7c71daf8b1e32d0a84705e84b31b3ea0a470801
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon May 21 21:58:39 2007 +0100

    Add a "make tags" target
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 34a1b4c2988875ba064cd3a261f3d3b8c63d7f8e
Author: Robin Rosenberg <robin.rosenberg@dewire.com>
Date:   Mon May 21 21:58:39 2007 +0100

    Don't use / as separatar since it is common i branch names
    
    Don't use / as separatar since it is common i branch names
    
        Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>

commit 330c6aff37039f746215d9e293a282dc87e7f080
Author: Robin Rosenberg <robin.rosenberg@dewire.com>
Date:   Mon May 21 21:58:39 2007 +0100

    Update the bash prompt from 'applied' instead of the obsolete 'current'
    
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    
    sndag 20 maj 2007 skrev Yann Dirson:
    > Note that "tail -1" gives a warning with newer versions, "tail -n 1"
    > should be the proper call.
    My man page doesn't mention -N being deprecated, but ok since -n 1 seems
    to work here too.
    
    > Also I'm not sure it is a good way to look at "applied" file, since
    > Karl IIRC has plans to change this.  Better call "stg top" and not
    > touch that again :)
    
    Calling stg is too slow to be be used here. I that command in my first draft
    for this function and people complained (see the thread named "Bash snippet
    to show branch and patch in bash prompt"). It takes ~ 0.15s on here which is
    very noticable, barely below my pain threshold.
    
    We'll update the prompt when and if Karl breaks this.
    
    It'd probably drain my battery too :/
    
    -- robin
    
     contrib/stgbashprompt.sh |    4 ++--
     1 files changed, 2 insertions(+), 2 deletions(-)

commit 27ac2b7eee3cc39e29c470cd5b5889e93091d9be
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon May 21 21:58:39 2007 +0100

    Refactor message printing
    
    Feed all those little progress and status messages through a central
    place where such things as newlines, indentation, and suppressing
    output when not on a TTY can be taken care of once and for all.
    
    This patch takes care of almost, but not quite, all output. The most
    notable leftover is the printing of help messages.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 0f92637c75d03080d43a9b8a95527660d61d67a5
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon May 21 21:58:38 2007 +0100

    Add --binary flag to commands that generate diffs
    
    This just passes the --binary option to git-diff-*, which causes the
    generated diffs to contain an applyable diff even when binary files
    differ. It's necessary to do this if you want to mail patches to
    binary files.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9536f81891b7cf97916499eaba8d5284ad7ee059
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon May 21 21:58:38 2007 +0100

    Test the format version upgrade code
    
    This test contains tarballs of repositories created with older
    versions of StGIT. It also contains the script used to generate them,
    but at some point we will lose the ability to easily run old versions
    -- for example, if git changes incompatibly -- so tarballs will be the
    only practical option for sufficiently old versions.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 598e9d3f25a1d7d61ecc7934c468333e5fb4e726
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon May 21 21:58:38 2007 +0100

    Upgrade old StGIT branches to new-format metadata
    
    There used to be a "stg branch --convert" command that switched
    between "old" and "new" format metadata. But my recent metadata
    cleanup patches introduced a "new new" format, and more are hopefully
    on the way, so it was time to start versioning the metadata format
    explicitly in order to avoid future headaches.
    
    This patch removes the "stg branch --convert" command, and makes StGIT
    automatically upgrade older formats to the latest format. It stores
    the format (as an integer) in the config file. The current metadata
    format version number is 2 (the "old" format is 0, and the "new"
    format is 1).
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e152aab36c48466d9a65baa26d477688a2536ffb
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon May 21 21:58:38 2007 +0100

    Have only a single command in each test_expect_failure
    
    Otherwise, we can't know which one failed.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 8591add961238ffbf0458c66593b642c9764219c
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon May 21 21:58:38 2007 +0100

    Fix config caching so that get, set, get works
    
    The config caching was never invalidated or updated, which caused the
    two gets to always return the same value regardless of the value
    passed to set.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e46f1350a9284095b239ce3568a2fe61149c7391
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 15 21:38:40 2007 +0200

    Remove obsolete files when deleting a branch
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 4975762e08df3a3c7b918638572db8e32ca2aef0
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 15 18:10:02 2007 +0100

    Store branch description in the config file
    
    Instead of storing the branch description in an StGIT-specific file,
    store it in the git config file, where tools other than StGIT can read
    and write it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6796f29f1805136c90a3431ba07a7362ad0a1e06
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue May 15 18:10:02 2007 +0100

    Use list comprehension in uncommit.py for Python 2.3
    
    The (None for ...) is not allowed in Python 2.3. Changed to [...]
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d2f50b5ddcdd7a517e3707f61e11f15c7ee9bada
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 15 18:10:02 2007 +0100

    Uncommit to a named commit
    
    Add a new flag to "stg uncommit": --to. This flag takes a committish
    parameter, and uncommits everything up until that commit.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit bc7e5a7e9b8876f6a98d38283753bdc8efcb6b53
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 15 18:10:01 2007 +0100

    If any uncommit would fail, don't uncommit anything
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit c4f99b6c10c3bc2558fe8d9050bcaaa3efb830b0
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 15 18:10:00 2007 +0100

    Remove an unnecessary parameter to make_patch_name
    
    The "alternative" parameter was a boolean that indicated whether we
    were interested in testing if the first generated name was acceptable,
    or if we would just always accept it. But that can be accomplished by
    giving an "unacceptable" function that always returns False, so
    there's no need for an additional parameter.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 50dec9eae9cd8b6acd0e239dddd64586aec30df0
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 15 18:10:00 2007 +0100

    Generate patch names of more uniform length
    
    Cut the generated patch name at 30 characters after getting rid of
    unwanted characters, not before. This gives patch names of more
    uniform length, since consecutive unwanted characters were replaced by
    a single dash.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9060d4205a9093a8f3c8ff958eff4c64107077cc
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue May 15 18:09:59 2007 +0100

    Make the "name" argument to "stg new" optional
    
    If no name is given, one is generated from the commit message. This
    can be very handy.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6f1c5e3ccbdcd62a0836d5c69cd86bef4589bdae
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue May 15 18:09:58 2007 +0100

    Rename "bury" back to "sink".
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 1fa161d61e1020f534b25c7db94cbd28c836791f
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue May 15 18:09:57 2007 +0100

    Stop recording branch.*.remote to '.' for local parents.
    
    We should be using the remote name of the remote branch in
    branch.*.merge, instead of the local one as we currently do (I'll
    ensure this in a later patch).
    
    As a consequence, setting "remote" to '.' and "merge" to the name of a
    *local* parent would become inconsistent with the remote case.  Anyway
    the local case should make use of pull-policy=rebase instead, and this
    change revealed that we were fetching useless information in the local
    case (no need for a remote).
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 6018404959979ae130d3f5790a14975689b5b824
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue May 15 18:09:55 2007 +0100

    Fix typo in the patchlogs copying code
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b639f7c8f09856411d403bf036f48bd8b1f0bde7
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon May 14 21:28:10 2007 +0200

    Store branch description in the config file
    
    Instead of storing the branch description in an StGIT-specific file,
    store it in the git config file, where tools other than StGIT can read
    and write it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a8b6b08aea32ad98b8e6d03d88c18ade5de97fca
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun May 13 20:27:30 2007 +0200

    Use "stg applied" instead of reading the applied file directly
    
    
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit fea352bf7a4ee0e841ada64caa34d34b614760f9
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun May 13 20:27:25 2007 +0200

    Test patch order, not just number of patches
    
    In addition to testing the number of applied patches, also test their
    order. And test the order of unapplied patches too while we're at it.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit ddb1a259c8556f2ea36ab39be1aa8f0218425d4a
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun May 13 20:27:20 2007 +0200

    Make patch deletion test more specific
    
    Don't just test the number of applied and unapplied patches; also test
    their name and order.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 7cc237444c532703aa693988ef552afffe35e613
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun May 13 16:11:54 2007 +0200

    Document patch syntax.
    
    
    Acked-by: Karl Hasselström <kha@treskal.com>
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit fb920a5f7e072e615e3ec77077232132f9a4f46e
Author: Karl Hasselström <kha@treskal.com>
Date:   Fri May 11 03:40:05 2007 +0200

    Make the "name" argument to "stg new" optional
    
    If no name is given, one is generated from the commit message. This
    can be very handy.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit e71d766bdfa12433d48a2c62273d573dd87aacce
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed May 9 01:32:46 2007 +0200

    Fix popping on non-active branches
    
    Resetting HEAD on the current branch when popping a patch on another
    branch isn't a great idea.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 450ae43a43b2d0d94ee1f6f0063d5e6ff284f5ad
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon May 7 01:13:57 2007 +0200

    Teach bash to complete branch names in some places.
    
    
    This patch causes bash completion to look for branch names instead of
    patch names for "branch" and "rebase".
    
    Unfortunately, the current completion framework does not seem flexible
    enough to get branch completion after "-b" flags, but I feel things
    are already better this way.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 532cdf94f80be6fb95682d9673c12a1d1aecf9a0
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun May 6 17:13:44 2007 +0200

    Don't use patches/<branch>/current
    
    The name of the current patch, if any, is always the last line of
    patches/<branch>/applied (and there is no current patch if and only if
    the "applied" file is empty). So use that instead, and stop having to
    worry about keeping the redundant "current" file up-to-date.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 8fce9909c0794e1f08020fa99edd63dc40f8e653
Author: Yann Dirson <ydirson@altern.org>
Date:   Sat May 5 16:00:28 2007 +0200

    Copy patchlogs when cloning a stack or picking a patch.
    
    
    This will allow to keep patch history accross those operations, and
    see when they diverged when looking at the respective patchlogs.  With
    more work, that will allow to locate the common ancestor when sync'ing
    a patch across branches.
    
    The work on "pick" can still be improved: currently the patchlog is
    preserved on "pick patch[@branch][//top]", but we could make it work
    for //top.old as well (or any rev in the patchlog when we'll be able
    to name those).
    
    Patchlog preservation in pick can only work when referencing a patch
    by name.  When picking an arbitrary commit we could also improve
    things by recording a "pick" operation instead of a "new".
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 2e88afce62b4c74263ad034bfd24ab0d55b3a0a4
Author: Yann Dirson <ydirson@altern.org>
Date:   Sat May 5 16:00:23 2007 +0200

    Cleanup variable names in pick.
    
    
    I'm going to need patch objects there, so avoid using variable "patch"
    to store only a patchname.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 5fe419ab86c57856254b3d85c69fc825e33c865d
Author: Yann Dirson <ydirson@altern.org>
Date:   Sat May 5 15:58:07 2007 +0200

    Avoid contrib/stg-swallow deleting unrelated empty patches.
    
    
    Let's just check ourselves if the patch is empty after pushing instead
    of using clean: no more surprise with patches getting abusively
    cleaned, and we should now be faster when there are many unapplied
    patches.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 84d00348353386756de38c08e5c17013faa83de7
Author: Roland Dreier <rdreier@cisco.com>
Date:   Thu May 3 11:29:41 2007 -0700

    Fix deleting series trash directory
    
    When deleting a series, the loop that iterates through the files in
    __trash_dir needs to add __trash_dir to the filename that it passes to
    os.remove().
    
    Signed-off-by: Roland Dreier <rolandd@cisco.com>

commit 16d69115caef1a194384f0f0f668e6789b838909
Author: Karl Hasselström <kha@treskal.com>
Date:   Mon Apr 30 00:15:52 2007 +0200

    Don't use refs/bases/<branchname>
    
    It's silly to save the stack base in a ref when it can trivially be
    computed from the bottommost applied patch, if any. (If there are no
    applied patches, it's simply equal to HEAD.)
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit fb336055610b2b028e59d4be21a971bd821f1baa
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Apr 29 23:09:55 2007 +0200

    dash doesn't do curly brace expansion, so avoid that
    
    I have dash as /bin/sh, and it doesn't seem to expand stuff in curly
    braces, which breaks t1800. Work around this by not using curly brace
    expansion to generate test data.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 89f647446f996f7846cbc56526451bf61a1a940c
Author: Karl Hasselström <kha@treskal.com>
Date:   Sun Apr 29 23:09:50 2007 +0200

    String comparison is done with "=", not "=="
    
    The "test" builtin in bash accepts both "==" and "=", but it didn't
    work with dash as /bin/sh.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 6aff55e93e9814621dd7b8623e18036b540bda1a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Apr 17 17:29:32 2007 +0100

    Failed recursive merging can silently lose date in StGIT
    
    The logic in git.merge(recursive = True) is that if
    git-merge-recursive fails, deal with the unmerged entries via diff3
    and interactive merge (if 'autoimerge' is set to 'yes' in
    config). There is a situation, however, when git-merge-recursive fails
    because of an untracked file that would be overwritten by the
    merge. In this case, git-merge-recursive aborts the operation but
    without any unmerged entries in the index. StGIT considers that the
    merge lead to an empty patch without reporting any error.
    
    This commit makes it a bit safer by detecting whether there are
    unmerged index entries and, if not, further raises an error informing
    the user of the problem. The patch is still pushed as empty but the
    user is informed of the failure and the possibility of running 'push
    --undo'.
    
    A better solution, but which require a bit more work, is to
    distinguish between the merge failures and, in this specific case,
    abort the push completely and revert the patch to its original state
    (and popped from the stack).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6d159dce33ab112d08bf0a1973cf8457afa85c3f
Author: Yann Dirson <ydirson@altern.org>
Date:   Thu Apr 12 22:15:36 2007 +0200

    Document the new 'stg branch --description' features.
    
    
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 36043cd62481bce58d032d06e5e79cae0ec84749
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Apr 12 00:01:10 2007 +0100

    Revert commit "Move man page stg(1) to stg(7)"
    
    This commit is reverting 5906924135f886527c1e947d100073067783eaa2 and
    also moves stg.txt to section 1 in Documentation/Makefile.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c056d88d4d5a62ce2e60ad6ceae3b498291442dd
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Apr 12 00:01:10 2007 +0100

    Fix the 'bury' command completion to include all patches
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5906924135f886527c1e947d100073067783eaa2
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Apr 10 23:09:17 2007 +0100

    Move man page stg(1) to stg(7)
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit de7a79c435e5bcbe713c75ec2be1b0221e1d555e
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Apr 10 20:27:02 2007 +0200

    Add "stg bury" command, with the functionality of contrib/stg-sink.
    
    This is the rewrite in python of by stg-sink written in perl.
    
    I changed the name to "bury" since it seems more descriptive of what
    it does, despite being less of an opposite to "float" than "sink" was.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 302600dcf151882ac09cdee1dcec3ae7d42178e9
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Apr 10 22:47:10 2007 +0100

    Add --description option to branch
    
    This options allows one to set the description text of a branch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f644f510bf66b9c6eb1b44668663350bb5083599
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Apr 10 22:47:10 2007 +0100

    Stop advertising 'pull' as the only operation blocked on protected stacks.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit d1d7d28ddda530c509e3eef3b700e12cc35d5e31
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Apr 10 22:47:10 2007 +0100

    Make the documentation of options more consistent.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 36f28f9d3ad829b9c0f813d9fa98201b835d238a
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Apr 10 22:47:10 2007 +0100

    Fix doc cross-refs.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 8f51e1453990869885aa7d61f9093268fd105e1e
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Apr 10 22:47:10 2007 +0100

    Add doc for 'branch'.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 1ce4005c30c89bd3ab2142fe371bc5b50e71c932
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Apr 10 22:47:10 2007 +0100

    Add doc for 'clone' and 'init'.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit b24fee3e827d1c4fad0f0f45203062e1e00c7181
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Apr 10 22:47:09 2007 +0100

    Don't use section 7 for main manpage.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 299f65f5926f9e7b0db509351d50474a6a3891ca
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Apr 10 22:47:09 2007 +0100

    Fix typo in help string.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 85289c08d9f5f76813a93daa23d63ea88e73956f
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 16 22:45:45 2007 +0000

    Cleanup parent information on stgit branch deletion.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 0aee23c296f9436fe63ad0a222f1bdbe30a7c2ba
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 16 22:45:45 2007 +0000

    Add support for unsetting config vars.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit bc97194adc2d563d9044d082a28427fbda1c9cfd
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 16 22:45:45 2007 +0000

    Add a script to quickly run an interactive test session.
    
    This uses the capabilities of the test library to provide a throw-away
    playground to test how the current stgit tree behaves.
    
    To use it, run the following command:
    	(cd t && ./interactive.sh)
    
    You'll get a shell in a brand new git tree.  Exiting that shell will
    get rid of this temporary directory.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 03c8cd3a5f385568415a250cc179e990831b1e8a
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 16 22:45:45 2007 +0000

    Remove debugging output from contrib/stg-sink
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit f32cdac5cdef3a54159bb8e8de1100dc66c29940
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 16 22:45:44 2007 +0000

    Copy parentbranch setting on 'stg branch --clone'.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 7109889a218cdd12495b5fc1ba96fd0da1903b8a
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 16 22:45:44 2007 +0000

    Drop utils.remove_dirs() in favor of os.removedirs().
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit c7728cd53216818b3b6e74c3bae9e8c593f6e59e
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 16 22:45:44 2007 +0000

    Make use exception raised by removedirs.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 737f3549994c21182fe9339910ccdbdb9fcde3c7
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 16 22:45:44 2007 +0000

    Fix diagnostic messages on patch deletion and simplify others.
    
    Also make use standard os.removedirs(), allowing for the same
    simplification.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit f9072c2fa274a7378080102b434c0563c77e4b1b
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 16 22:45:43 2007 +0000

    Fix stack deletion when orig-base is present.
    
    The introduction of the orig-base file makes the stack deletion fail
    to remove the stack's directory, leaving the stack in a zombie state,
    where attempting to recreate it was refused because of the directory
    already existing, but attempting to delete it failed since the applied
    and unapplied files were not found.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 2f2151a6e7904ad9cff72c9d2d64947a13bf7818
Author: Robin Rosenberg <robin.rosenberg@dewire.com>
Date:   Fri Mar 16 22:45:43 2007 +0000

    Add an empty line before signed-off-by
    
    Default to the standard convention of having an empty line
    before the Signed-off line when addign a signature using the
    --sign option.
    
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0209d76762e5f0add836bd8144514173d9f8c3d6
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Mar 12 22:44:22 2007 +0000

    Fixed t2102-pull-policy-rebase to really test 'rebase' policy.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit d92a3fd72956ed39ace26699aaf0d6d1ab84e5ed
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Mar 12 22:44:21 2007 +0000

    Make 'stg cp' 2nd form safe.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit bfbfd4e58d129d083fadb083a8ffb7982086a3ec
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Mar 12 22:44:21 2007 +0000

    Some clarifications to the main doc.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit c2b87fa2ef44a58d3ffe3dcf8cb693ad66263e9e
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Mar 12 22:44:21 2007 +0000

    Do not link to docs that will never be written.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit d5ae21737377436f19b93b0f43443b47f2f23e54
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Mar 12 22:44:21 2007 +0000

    Add 'stg cp' command.
    
    Supports copying several files and dirs into existing dir, as well as
    copying single file or dir with a new name.
    
    In the case of directory copying, only copies files known to git (ie,
    no generated files).  Should maybe add --all as alternative.
    
    Does not check whether we're going to lose data (overwriting any
    modified file, or any file not tracked by git).  This should probably
    be done first, before doing any real change (preparing the changes
    in-memory, then do the work if OK).  Will give us --dry-run at no
    additional cost.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 6d248aced4351b3e0a19e26fae65ca400a7d2884
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Mar 12 22:44:20 2007 +0000

    Only check for upstream merges if not fast-forwarding
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 53f76663a55fc98d43d283dbef2306aac880d771
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 7 22:02:42 2006 +0000

    [Revert] Make 'push --undo' safer
    
    (reverting of commit 539fb2921209bd3fd6165baa057f76f474aa5cb4)
    
    Make the push undoing a bit safer by asking the user to first clean
    the local changes or conflicts rather than silently resetting them.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 21b1cc55ceb6b74b4821387a4dd5d0a49748dc13
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Mar 6 21:18:44 2007 +0100

    Fix bash completion to not garble the screen with an error message.
    
    
    Maybe we could refuse to complete further when the command was not
    recognized, but at least this fix avoids the annoying behaviour.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit cefdc327bc4a35eb7b1399d7c1673b223936f23c
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 2 21:34:29 2007 +0000

    Add contrib/stg-sink: sink a patch to given location (mirrors float).
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 92172b2bce00ede0e886681deb00f378cf0db475
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 2 21:34:29 2007 +0000

    Add contrib/stg-mdiff: display diffs of diffs.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit cdd071ff33c6197a7c860b44be04c0614c4a0dab
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 2 21:34:29 2007 +0000

    Add contrib/stg-gitk: helper script to run gitk
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 615723aa545d356e1ee687f0b9b7fbc5336be1d1
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 2 21:34:28 2007 +0000

    Add contrib/stg-cvs: helper script to manage a mixed cvs/stgit working copy
    
    This is an early prototype only, use with care, and be sure to read the
    LIMITATIONS section in the script comments.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit dee3cbb2feea6fa7f03d46070b2894fa8a957e3f
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 2 21:34:28 2007 +0000

    Add contrib/stg-swallow: completely merge an unapplied patch into current one
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit ed239fbd9baf26fe26349fd115523156bac58a37
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 2 21:34:28 2007 +0000

    Add contrib/stg-fold-files-from: pick selected changes from a patch above current one
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 0aa64572e76e3c710931a9bf0bedb211d3ee11d1
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 2 21:34:28 2007 +0000

    Add contrib/stg-show-old: show old version of a patch.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit a3e456434ff7ab75d0cae96c22329a3262764444
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Mar 2 21:34:28 2007 +0000

    Add contrib/stg-whatchanged: look at what would be changed by refreshing.
    
    This script outputs a "metadiff" (diff of diffs, ie. diff between 2
    versions of a single patch).  This is somewhat a proof of concept, and some
    work is indeed needed in the way to present the results.  Consider
    filtering the output at least through colordiff.
    
    I have 2 uses for this script:
    - when simply editing a patch, provides a 3rd way to check what I've done
      before refreshing (in addition to "stg diff" and "stg diff -r //bottom")
    - most usefully, when resolving conflicts caused by a push, to ease
      checking of the merge result.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 73e3a6fff48a84a7c109d4f6d16abb30c0104804
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Feb 28 11:10:22 2007 +0000

    Use and..or as a ternary operator rather than a dictionary
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b3ae3e141a388b9c17c0abab70812dcdab512a05
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Feb 28 08:41:56 2007 +0000

    Add EditorException to stgit/utils.py
    
    The patch adds the stgit.main.main handling of this exception as well.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b6e961f27081bdb876f1caabfb9500f36ac7ac7f
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Feb 28 08:41:56 2007 +0000

    Add an interractive 2-way merge option
    
    Since emacs can handle 2-way merges as well with ediff-merge-files,
    this patch changes the 'imerger' config option to 'i3merge' and also
    adds an 'i2merge' option. The gitmergeonefile.py algorithm was
    modified to handle 2-way merges interactively as well.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 82021e1e735c1ec92b41b3b5aca9f2ce1551e287
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Feb 28 08:41:56 2007 +0000

    Add missing files to stgit manifest.
    
    Many things, including Makefile and all documentation were left out of
    various packaging because they're not included in the tarball.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 368a44c3761d46b5a085215a9ed6878da4e84fa6
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Feb 28 08:41:55 2007 +0000

    Merge doc/ and Documentation/ directories.
    
    This merges everything into Documentation, to match the GIT layout
    ("make doc" did not work anyway since "doc" was not marked phony).
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 4ec677417c8bfb4d30b2cd7482c5ceca9b542fc8
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Feb 28 08:41:55 2007 +0000

    Add a Documentation directory inspired by the git one.
    
    The html and manpages are generated from asciidoc source.  Short
    description strings are extracted from the python modules.
    
    Only the stg(7) frontpage and the stg-new(1) command page are already
    written.  A template is provided for new command pages.
    
    This also reworks a couple of help strings and command classification.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 83bb4e4cba222cb3f7701d5ab50cd6966c8b4dab
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Feb 28 08:41:55 2007 +0000

    Factorize editor handling.
    
    At the same time we trap the editor error for all editor calls, not
    just when called from "stg mail".  We may want to define a new
    exception for this though.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit e0d32236084276e0e509180ab7629ab23aee11c5
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Feb 28 08:41:42 2007 +0000

    Add a testcase for the safety of pull-policy='pull'.
    
    This testcase demonstrates a long-standing problem with the handling
    of conflicts on a rewinding branch, when "stg pull" calls git-pull.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 5a6d315ee8e8b217aa2720c4e44af8d17a4cd28c
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Feb 27 22:39:09 2007 +0000

    Correctly raise exception on unknown pull-policy.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit e078133e1145fc63235c59527f6a36e8f30d03c1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 23 22:09:06 2007 +0000

    Add --branch option to 'patches'
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 47a200ac8ca74a29eb3ac853057cc49768f61420
Author: Sam Vilain <sam.vilain@catalyst.net.nz>
Date:   Fri Feb 23 22:09:06 2007 +0000

    Some minor debian packaging fixes

commit 3b3c26fa79d6632363c141b68df4b024f367ad0b
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Feb 21 00:16:11 2007 +0100

    Rework of the 'stg pull' policy.
    
    
    This patch changes the way "stg pull" behaviour is selected, by
    replacing stgit.pull-does-rebase and stgit.pullcmd with
    stgit.pull-policy, stgit.pullcmd and stgit.fetchcmd.  In the standard
    case, only pull-policy needs to be set.
    
    Those 3 config variables are also available per-branch as
    branch.*.stgit.<name>.
    
    This patch also add a set of tests for the fetch-rebase policy,
    including interferences with "stg commit" occuring with 0.12.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit e5834af733eb4377f19d59a694ad106b82c63d5d
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Feb 20 01:14:24 2007 +0100

    Refuse to pull/rebase when rendered unsafe by (un)commits.
    
    
    This can be overriden by a new --force flag.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit b6c95ada87ed57ef78f4a02987606e498cd4e04d
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Feb 20 01:14:19 2007 +0100

    Keep track of safe base changes.
    
    
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 09340f5f9daadc37204f8e13e668af7c02fc1814
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Feb 20 01:14:13 2007 +0100

    Various cleanups for clarity.
    
    
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit ba66e579c03a92dd8a3bc27ceb951fd2dc40723e
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Feb 20 01:14:08 2007 +0100

    Move stack-base querying into Series class.
    
    
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit a9f3a9fc26bfad2168af83997e088247acccb1ee
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Feb 20 01:14:03 2007 +0100

    Factorize rebasing behaviour.
    
    
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 178426c492a38c81eeac55b90dca5aa3b8a23492
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Feb 19 23:22:54 2007 +0100

    Support for pre-1.5 git in stgit tests.
    
    
    Support for older Git versions was broken in
    5cd9e87faa0a116ce2b378be6a5c89d5f20629f1 (post 0.12).
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit d650d6ed4c969d0d5127544e5236f83e21608ca5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Feb 21 18:30:30 2007 +0000

    Fix the mail command to parse longer address headers
    
    If an address header is split over multiple lines, the old code was
    only parsing the first line, missing the other addresses.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f06cd2d17cc81b077f494d56b8515ebea38770f7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Feb 21 18:30:30 2007 +0000

    Fix the alias check in the mail --bcc command
    
    A check for an empty alias was performed if autobcc wasn't set in the
    config file.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit dc4e5946dfd10fd8f6251257c52161615f7c1841
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Feb 21 18:30:30 2007 +0000

    Display whether the patch is empty after refresh
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit fd1c0cfca390f57dd37024b677de9b707916a8d5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Feb 17 23:57:39 2007 +0000

    Fix import to allow --name and --strip for most import types
    
    Originally, those options were only valid for a basic file import but
    not for e-mail or url. This patch also replaces invalid characters in
    the patch name with dashes.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 575c575ea43be1145e79e1cc5d66c2a102d94f7f
Author: Clark Williams <clark.williams@gmail.com>
Date:   Sat Feb 17 14:42:27 2007 -0600

    URL import for stgit
    
    Signed-off-by: Clark Williams <clark.williams@gmail.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 54fac8e67115d98b4addcd4e7c9bfe9f39820b09
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 16 22:42:35 2007 +0000

    Add --author option to series
    
    This is similar to the --description option, only that the author name
    is displayed instead.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 457c30933ccdf2fff533073544392a84ce6190ab
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 16 22:42:35 2007 +0000

    Allow importing mbox files from stdin
    
    The UnixMailbox does not support reading from stdin as it uses seek()
    (at least on Python 2.3). This patch reads the stdin into a StringIO
    object.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5cd9e87faa0a116ce2b378be6a5c89d5f20629f1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Feb 13 22:26:37 2007 +0000

    Fix the behaviour when there is no user information configured
    
    If there is no user.name or user.email set in the gitconfig files,
    just use the defaults rather than failing.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b2017c38acfed9c26ec5bbcb2b23784ca0a15cc8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Feb 13 22:26:36 2007 +0000

    Make StGIT aware of the STGIT_DEBUG_LEVEL environment variable
    
    For now, setting this environment variable will make StGIT dump the
    backtrace in case of a failure.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 78340ff10ec8fe964a6d9b3d2ad8b7d3edd717cc
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Feb 13 22:26:36 2007 +0000

    Use canonical command name in help message.
    
    Let's expand shortcut command names in help messages, in all 3 forms
    ("help foo", "--help foo" and "foo --help").
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit d12efe4418029cb713b46875779cbc9a4aa16166
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Feb 13 22:26:36 2007 +0000

    Add --merged option to rebase.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit ebc429e7b7e596a12e8255fadc397123893cec73
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Feb 6 22:48:03 2007 +0000

    Release 0.12
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2e4acf6cde7613e7e5e27e8e1e8891509cf9521e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Feb 6 23:00:28 2007 +0000

    Add extra files to MANIFEST.in
    
    These are needed for building the rpm distribution.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e0bbefddad17255e8905d7a6b7aaaed910168c4c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Feb 6 22:45:18 2007 +0000

    Escape the quotes in example/gitconfig
    
    With the new git-repo-config, the quotes are ignored unless escaped,
    breaking some functionality (emacs interactive merger).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0aa8df2edbe489f21c0c0a188cad09ac0827ab1c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Feb 5 22:41:41 2007 +0000

    Stop the e-mail sending if editor fails
    
    With this patch, if the editor exits with a non-zero status, stop
    sending any e-mails.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 4646e7a35b07fb6a5ade8e1d4f5853a20ebfe908
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Feb 5 22:18:23 2007 +0000

    Use branch.*.stgit.parentbranch for authoritative parent information.
    
    Also set the API to use remote=None as "parent branch is local", and
    have set_parent() translate that to branch.*.remote=".".
    
    Also enforces that we never set a parent-branch info without a
    parent-remote (so they are now both set or both untouched), and try to
    give useful info when we have to use the old "origin" defaults.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 773f2a27d9c47145d2a95ed0cfa104f82ba0ec1c
Author: Pavel Roskin <proski@gnu.org>
Date:   Mon Feb 5 22:18:22 2007 +0000

    Add missing spaces in warnings about default remote
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit a9d090f4c4b4f68f08f435955dba6f2dbf1d28ee
Author: Pavel Roskin <proski@gnu.org>
Date:   Sun Feb 4 00:32:37 2007 -0500

    Assorted typos
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit e2b12496b78458220c8360324657421a0061fc42
Author: Pavel Roskin <proski@gnu.org>
Date:   Sun Feb 4 12:44:03 2007 -0500

    Don't print "rebasing" if the head doesn't change
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit 0579dae6b4d063501a5952b5c97fc6ee310b32bb
Author: Pavel Roskin <proski@gnu.org>
Date:   Sun Feb 4 00:32:26 2007 -0500

    Copy remote and merge settings when cloning a branch
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit cb5be4c30ece4dcca3c2ead63cbba834f00001cc
Author: Pavel Roskin <proski@gnu.org>
Date:   Sun Feb 4 00:32:21 2007 -0500

    Rename branch section in config when the branch is renamed
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit 57f3e325b9f45dc2c7fd0415bb646179bc37b3bf
Author: Yann Dirson <ydirson@altern.org>
Date:   Sat Feb 3 22:29:30 2007 +0100

    Use FETCH_HEAD to know where to rebase to after pull.
    
    
    Since 'git fetch' already takes care of the branch.*.merge parameters,
    resolves the new tip of the parent branch and puts it in FETCH_HEAD,
    we're better just taking it from there.
    
    This fixes the regression on t1200-push-modified.sh.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit c0167829ce790a0812f16ae03d1c7c7bd7b14560
Author: Yann Dirson <ydirson@altern.org>
Date:   Sat Feb 3 17:04:25 2007 +0100

    Warn the user when there is no parent information in the config.
    
    
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 76c57fcf79ac80726e2435f6db9e4a5fd892eb75
Author: Yann Dirson <ydirson@altern.org>
Date:   Sat Feb 3 17:04:20 2007 +0100

    Correctly check the pull-does-rebase parameter in 'stg pull'.
    
    
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 98330c2962a26759c110ff91bf347c0652a3df23
Author: Pavel Roskin <proski@gnu.org>
Date:   Fri Feb 2 17:18:40 2007 +0000

    Allow .git/branches and .git/remotes to be missing
    
    Both directories are now obsoleted by .git/config file.  This fixes
    "make test" in StGIT with git 1.5.0-rc3.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit f72ad3d613850b9cb831d98e2eff96e0a0fa3402
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Feb 2 17:18:40 2007 +0000

    Do not return 'origin' as parent remote when there is no such remote.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit d060dfd3e619d32291b872b74462a8238bf55f1b
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Feb 2 17:18:40 2007 +0000

    Rebase to parent branch after git-fetch in "stg pull".
    
    Previously we were just assuming that the remote from which we
    just failed defined a local branch whose name was the same as the
    remote def, and that this branch was the parent.  While this is true
    for the most common case (branch "origin" from remote "origin"), it is
    quite an unflexible assumption.
    
    Also move the rebasing from git.pull to commands.pull.func since that
    is clearly stgit-level stuff, and rename git.pull() to git.fetch() to
    match default behaviour.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 8f5da35b5b53dd3c7eaf29350b3f84f1213d0ec8
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Feb 2 17:18:40 2007 +0000

    The user does not want to mess with the refspecs.
    
    The only use I know of for this parameter is 'stg pull . <branch>',
    for which 'stg rebase <branch>' should be used instead.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit c1e4d7e01fb8627f6d07f12f18007018b0625c2a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 2 17:18:40 2007 +0000

    Check for invalid patch names before acting
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit fba895f5f12a652c248b0fd02b7c41f8342cfbdc
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Feb 1 22:52:02 2007 +0000

    set() is not a builtin function in Python 2.3
    
    This patch uses the sets.Set class rather than the builtin function.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit bec7726668d737f8bc4242372d9fb542339654e0
Author: Yann Dirson <ydirson@altern.org>
Date:   Thu Feb 1 22:52:02 2007 +0000

    Fixes to doc strings.
    
    At least the docstring for "branch" is still very confusing, but
    that's hard to fix.  We'll likely have to wait for the post-1.0
    command-line redesign.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 4cd6405eb66123eac7bc45f465900056243839c8
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Jan 31 23:41:11 2007 +0000

    Make 'stg pull' use git-fetch and not git-pull.
    
    We introduce a new pull-does-rebase setting, as companion to pullcmd.
    This allows to use both pullcmd's that need a rebase (like git-fetch)
    and pullcmd's that do not (like git-pull).
    
    To be able to rebase, we rely on parent information being available
    for the stack.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 4f5a8c722ee88f9be891297353ae26f676bb0213
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Jan 31 23:34:06 2007 +0000

    Have 'stg branch --create' record parent information.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 8866fedad702f33cbeaf83d18ab120f3a76922f5
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Jan 31 23:27:55 2007 +0000

    Basic support for keeping a ref to the parent branch.
    
    This adds a framework to handle the parent branch of a stack, in
    addition to the parent remote, and to set them when creating a stack.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 681f805ef4688c7ea450f5e72a15dad818809734
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Jan 31 23:15:38 2007 +0000

    Allows extraction of information about remotes.
    
    We want to know the list of declared remotes, the local branches they
    hold, and which remotes holds a given branch.  All this regardless of
    where the information is stored.
    
    If there are any git-1.5 remotes declared in .git/config, we suppose
    you know what you're doing and they will take precedence on any
    pre-1.5 remotes.
    
    This does not use git-remote for now, since it is 1.5 material not
    released yet, does not support legacy branches/ remotes, and does not
    allow yet to query all of the information we need.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 254d99f846f3427d21bc9224cd693bb4806d2d31
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Jan 31 23:15:38 2007 +0000

    Move identification of parent branch's remote def up into stack class.
    
    Also adds the __set_parent_remote() counterpart method, but only
    private since it is expected to be called only through set_parent, to
    be introduced in subsequent patch.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 9a4bf4548713d6021f4ce8a48bc2d7d65ff06106
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Jan 31 23:15:38 2007 +0000

    Add caching to the new config class.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit c73e63b7d7733f1308c2c0c504144e93062bb489
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed Jan 31 23:15:38 2007 +0000

    Make stgit.config use git-repo-config.
    
    This is an initial implementation without any sort of caching.  If we
    want that, we could do it with this new API.  We could even just
    simply generalize the use of ConfigOption instead.
    
    I just copypasted __run from stgit.git to avoid too much work, but
    it's definitely something to cleanup.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit c6f366f6b7452e24edf5bff06da8b69c500899a4
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jan 26 22:29:10 2007 +0000

    Make the 'series --short' length configurable
    
    The 'shortnr' config option was added so that one can set a different
    length than the default 5.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 841c7b2a6b015e3ab3331713cf10caf7a4fd0b49
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jan 26 22:29:10 2007 +0000

    Add support to hide and unhide patches
    
    Hidden patches are only listed with 'series' -a or -i options.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f483998b7e3bd7eef30b4614d075373965142f29
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jan 25 22:28:39 2007 +0000

    '--showbranch' and '--noprefix' options for 'series'
    
    This option modify the display of patches in 'series'. Useful for
    scripting.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0aebdb85d6ff005a9ba9b020266e812c115b1ba0
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jan 25 22:28:39 2007 +0000

    Allow a patch range to be specified for 'series'
    
    If a patch range is specified, the series will only show those
    files. Useful for scripting.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 56ba8918a9f0e98f89741b359f7618809f14b9dd
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jan 25 22:28:38 2007 +0000

    Hide the test_create_repo output
    
    git-init-db now prints some info when initialising a tree, just hide
    it in the test scripts, unless --verbose was specified.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 00d468f51b4222d5b027c4140713b5c4c1ea1a2a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jan 25 22:28:38 2007 +0000

    Synchronise the current patch if none specified for 'sync'
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a2597fc74859f62872cef838377568811f2b6362
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jan 21 23:24:56 2007 +0000

    Fix the displaying of unknown files for 'stg status'
    
    Unknown files (marked with '?' by "stg status") are all displayed
    regardless of any files or dir explicitely specified on command-line.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 22037590baa995704b6cc08d844e024c85c7c578
Author: Yann Dirson <ydirson@altern.org>
Date:   Sat Jan 20 19:04:21 2007 +0100

    Add new 'rebase' command.
    
    
    
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 0f4eba6a37c1a5454560b097873e5a22bfcde908
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jan 12 23:10:44 2007 +0000

    Track the files conflict history
    
    This commit refreshes a pushed patch even if there was a conflict (in
    which case only the correctly merged files are merged). The refresh
    after fixing the conflict would log the conflict files in the patch
    history.
    
    The patch also updates the index in the case of the interactive merge.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f7ed76a9b6158888e8efe2faef9c095802fd93fe
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jan 10 19:38:26 2007 +0000

    Add option to automatically invoke the interactive merger
    
    The 'autoimerge' option was added (defaulting to 'no') to
    automatically invoke the interactive merging tool when a conflict
    occurs.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 79df2f0df89f382b63e4122aa15099a257a06463
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jan 10 19:38:26 2007 +0000

    Allow e-mail aliases for the "mail" command
    
    The addresses passed via options or in the template file can also be
    aliases stored in the [aliases] section of the configuration
    file. They get expanded automatically when building the patch or cover
    e-mails.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 26f4a431939dc3a605773dded9c7c6bc1420de80
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jan 10 19:38:25 2007 +0000

    Indent the example gitconfig file
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 87c6953990e0cf1522df4816f33674362303035f
Author: Pavel Roskin <proski@gnu.org>
Date:   Wed Jan 10 19:38:25 2007 +0000

    Check git pull remote before defaulting to 'origin'
    
    Check git pull remote before defaulting to 'origin'
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit e45e1f855d8a7cd3b4183612122aa5c6de7f7b8d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jan 10 19:38:25 2007 +0000

    Pipe the 'patches --diff' output through the pager
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 074b62564dec55c8730d2010119192bd479b3c8e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jan 4 19:30:18 2007 +0000

    Fix the branch renaming to also rename the reflogs
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 19ac8fe4de01ed481f14a0fcff911b4bb25bed8a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jan 4 19:30:18 2007 +0000

    Add '--missing' option to 'series'
    
    This option lists the patches on a remote branch which are missing
    from the current branch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 7ae2e7067aeee586f565cbbc1bd7f9f443bb06ea
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Dec 13 17:10:40 2006 +0000

    Fix the bash completion when there is no patch applied
    
    When there aren't any patches applied, the
    .git/patches/<branch>/current file is removed and the bash completion
    script fails to read it.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b4f656f00412360441dfe7e41c9733a9ca547015
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 12 22:07:17 2006 +0000

    Allow the mail command to send unapplied patches as well
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 7829d19d9aa7468f65b98d1cc1bd76389346b594
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 12 22:07:17 2006 +0000

    Add the --unapplied option to pick
    
    This option picks a commit id but doesn't actually apply it to the
    stack (also useful for duplicating patches).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a2275a12c5c50abc39eac1862259c1a1fc8e8006
Author: Pavel Roskin <proski@gnu.org>
Date:   Mon Dec 11 22:21:12 2006 +0000

    The author's address is incorrect in setyp.py
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 514dd4f2a4bc2cb0fb2e160f254804361486f3df
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Dec 11 22:21:11 2006 +0000

    Allow the abbreviation of StGIT commands
    
    If a partial command name is given, StGIT tries to find a unique
    match, otherwise it fails.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f3b4fbfff9f3042a406f25b8201582c3351cd1ca
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 8 22:31:52 2006 +0000

    Don't always use git-merge-recursive because of speed
    
    There are situations like picking patches, folding a patch onto a base
    or synchronising patches where the distance between base and heads is
    in general small. In this case, git-read-tree --aggressive is much
    faster. We currently use the recursive merge when picking or pushing a
    patch (the base change might involve some renames).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 06848faba60e1c4e637b15b608e5bd94989c4196
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 7 22:02:42 2006 +0000

    Add the 'sync' command
    
    This command is used to keep patches on several branches/trees in
    sync.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 539fb2921209bd3fd6165baa057f76f474aa5cb4
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 7 22:02:42 2006 +0000

    Make 'push --undo' safer
    
    Make the push undoing a bit safer by asking the user to first clean
    the local changes or conflicts rather than silently resetting them.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8d4155530f85a38980acdd6c5716e6f684c4d79f
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 7 22:02:41 2006 +0000

    Fix a merge case with files added in both heads but different
    
    Since using git-merge-recursive instead of git-read-tree, the local
    file is removed if it was added in both heads but different. We now
    re-generated it in gitmergeonefile.merge. The patch also cleans the
    working directory of extra files generated by git-merge-recursive
    since our own merge re-generates them with nicer naming.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 7c53fcf57614af48846b4684556178dadebb8f82
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 7 22:02:40 2006 +0000

    Print 'refresh done' before pushing other patches
    
    This is for the case where --patch was specified
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0d4cd7ce095244423ef506e05d26980ce2749463
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Dec 6 22:12:15 2006 +0000

    Pipe the 'stg help <command>' output through the pager
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d1368d811f20d4957d9fca7a8fe016e764f77d1b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Dec 6 22:12:14 2006 +0000

    Allow patch ranges for the 'pop' command
    
    This patch is to make 'pop' accept patch ranges. Only the patches
    specified in the range are now popped from the stack, the command
    performing the necessary pop/push operations.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8560c67bce5458f876284afbee43be9ca862529a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Dec 6 22:12:14 2006 +0000

    Allow ranges for the 'export' command
    
    The command is now slightly changed in that the arguments for export
    are patch ranges rather than a directory. The export directory is
    specified with the --dir option. The patch also removes the --diff
    option and adds a more general --extension option.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5dfb1afc61066532c8ae2b88be2dbafb31317ea1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Dec 6 22:12:13 2006 +0000

    Fix the 'clean' command not to pop all the patches
    
    With this patch, the 'clean' command only pops to the first empty
    patch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0dd3d1af74881c8af788fad114d8ba25779c59de
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 5 22:07:24 2006 +0000

    Flush the stdout in the commit command
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d2a327a89c3eec6688a1b5b65ef3ab86552bc972
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 5 22:07:24 2006 +0000

    Fix "series -d" when the patch description is empty
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 09d8f8c55a4193fbabba723c2f257b447c0edaf4
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 5 22:07:24 2006 +0000

    Allow the cloning of branches not under StGIT control
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8741321bfc9fca92f151881ed0fcb4e90a900dc3
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Dec 5 22:07:23 2006 +0000

    Document some current bugs and add to the TODO list.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 8fe7e9f08ae6fe49cec66a8034e8495cbf77c6f3
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Dec 5 22:07:23 2006 +0000

    Create a StgitObject class to factorise code for property handling.
    
    This change makes it easier to add new stored fields to the Series object,
    without having to duplicate existing code from Patch.
    
    Generic field accessors were taken from the Patch class.  Dir accessors
    were added to avoid making the __dir attribute public, and were used
    to replace Series::__series_dir (that name was a bit redundant anyway).
    Create_empty_field came as a natural addition to factorise more code.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 9e3f506f0d0e1b0c09d1e9d7051af23bfede7834
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Dec 5 22:07:23 2006 +0000

    Ask git for author and committer name
    
    (patch modified by Catalin Marinas)
    
    Consistently do the following to get hold of default user, author and
    committer:
    
      1. Use the value specified on the command line, if any.
    
      2. Otherwise, use the environment variables, if any.
    
      3. Otherwise, read the configuration files
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 29d9e8ce8e74d9319c3e9979dd8aa267c0de8239
Author: Pavel Roskin <proski@gnu.org>
Date:   Tue Dec 5 22:07:22 2006 +0000

    Set HOME to the test directory to avoid reading ~/.stgitrc
    
    This makes the tests more system independent and allows better testing
    for "stg mail" command.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit b4d6a1c5539886c10f4d3965bd62afc793d8e912
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 5 22:07:22 2006 +0000

    Only print the progress message if on a TTY
    
    The "Checking for changes..." message should only be printed if stdout
    is a TTY to avoid unnecessary information for people redirecting the
    output to a file.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit abcc26205add550f775bb1dceb4e30377e6b3463
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 5 22:07:22 2006 +0000

    Use gitconfig rather than stgirc
    
    This patch enables the use of gitconfig files (~/.gitconfig or
    .git/config) rather than stgitrc. These files can have a [stgit]
    section. Currently, the git config lines have to be stripped since the
    options are prepended with spaces.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 148b69ae085a156f83621e73e7ee2e0da81f0458
Author: Yann Dirson <ydirson@altern.org>
Date:   Tue Dec 5 22:07:21 2006 +0000

    More config examples.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit ebbd6f00a745851a7c914b76bc963be50d12818e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 24 22:57:56 2006 +0000

    Complete patch names after a patch (range) option
    
    Commands like export, refresh and diff have options that take a patch
    argument. Modify the bash completion script to allow this.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 42fc7623404159ca33ba5ef1bd74ca4c339d827a
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Nov 24 22:57:55 2006 +0000

    Allows to refresh a non-top applied patch.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit bc7ba6e9f41917dbac2061b2e726162099fea920
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Nov 24 22:57:55 2006 +0000

    Bomb out when --ack and --sign are both passed to "refresh".
    
    Old behaviour was silently ignoring --ack, which could be confusing.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 2cf7e94e933bf3e8091622d7d6730e145cc9bf64
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Nov 24 22:57:54 2006 +0000

    Optimize stg goto in the pop case.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit ed0350be88dca8315cf7b32e88972306aae4f700
Author: Yann Dirson <ydirson@altern.org>
Date:   Fri Nov 24 22:57:54 2006 +0000

    Make Series::patch_applied public.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit ceba3178f434c2a1fc4c839459efe15b9953fe7c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Nov 22 20:14:58 2006 +0000

    Add a boundary to parse_patches()
    
    This is useful since specifying the ".." range would generate all the
    applied and unapplied patches for commands like "show" and
    "delete". With this patch, the boundary is crossed only if
    specifically asked (i.e. the first and last patch of the range are on
    each side of the boundary).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 7c47eea5bf3e1af67b06417fa2fbda093b7e8c37
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Nov 22 20:14:57 2006 +0000

    Allow 'show' to display many patches
    
    The show command should be allowed to display more than one patch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5b99888bc11c6ac2c3c940c3c9bb4b9905225754
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Nov 20 21:45:17 2006 +0000

    Fix a bug in gitmergeonefile.py introduced recently
    
    The bug was introduced by the change of merger and keeporig variables
    from string to ConfigOption.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit eee7283e896c65fbd86d5449886515dec6b7449c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 17 22:20:40 2006 +0000

    Only read the config files when running a command
    
    This reduces the time to display the help by about 12ms (on my PC).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 901288c20717c357bfd7b640fbd2e3d24d4b636b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 17 22:20:40 2006 +0000

    Add a 'sender' configuration option
    
    This variable is expanded in the e-mail templates on the 'From:'
    header line. It replaces the current 'maintainer' variable. This code
    will undergo some reworking as there are pending patches affecting it.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1d1485c3cb6799f561df780e8f142b0c54b8178b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 17 22:20:39 2006 +0000

    Only create a 'From: author' line if needed
    
    When the sender is the same as the author, there is no need to add a
    'From:' line to the patch description.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 58c61f10b2af8dd6f94ebe81e9d9e38cea319f49
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Nov 16 19:45:32 2006 +0000

    Edit the cover or patch message before e-mail encoding
    
    This is needed because the user might introduce characters not handled
    by the current encoding and StGIT could no longer change it. The
    disadvantage is that not all the e-mail headers are visible in the
    editor but users shouldn't manually modify them anyway.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1aaf55c91fc987f64499091bc26a519fb7815dac
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Nov 16 19:45:32 2006 +0000

    Update the bash-completion script
    
    This version automatically gets the command options and also has support
    for more commands taking patch ranges.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 22d87516a1a525bc6cb12db96077569b79f5eda5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Nov 16 19:45:32 2006 +0000

    Reduce the imports in stgit/main.py
    
    Some module are only needed when executing a command and not when just
    invoking the help. This reduces the delay slightly, useful for stgit bash
    completion.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8ebae56bad042edf75f7d290469fea166a20d045
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Nov 16 19:45:31 2006 +0000

    StGIT bash completion
    
    A minimal bash completion script for StGIT. It completes the
    subcommand names, and options and patch names for some subcommands.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit dfeeba67c784985055ea963558d6fb65824971f5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Nov 16 19:45:31 2006 +0000

    Fix the mail import regex to remove the [...PATCH...] text
    
    With the addition of a prefix to the [PATCH] string, the mail
    importing regex was no longer able to remove it.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ff42cedd45f18681498c5e380329cdaff2cecf0d
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Nov 16 19:45:30 2006 +0000

    Regression test for "stg mail"
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e4fc1f59f679b4f0b5c6805feaf9da0df2cd370f
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Nov 16 19:45:30 2006 +0000

    Regression test for "stg import"
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e5bdb1fecace36563715494a86261d32503b475e
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Nov 16 19:45:29 2006 +0000

    Don't mention deprecated template variables
    
    %(endofheaders)s and %(date)s are deprecated and expand to the empty
    string, so don't mention them in the help text.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ba9c6dc51c6dc0dca67944bf859802389bcaba9b
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Nov 16 19:45:28 2006 +0000

    Print progress message to stderr, not stdout
    
    Printing progress messages to stdout causes them to get mixed up with
    the actual output of the program. Using stderr is much better, since
    the user can then redirect the two components separately.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6f6d039f0cfb7470d11f77cacb8612b1b4ed40d1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Nov 8 17:35:50 2006 +0000

    Add file renaming support
    
    The merge method was changed from gitmergeonefile.merge() to the external
    git-merge-recursive which handles renames properly. The 'mv' command was
    added as well.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 925ff4a7136e29976b88a0d820fd883c6dae5b88
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Nov 8 22:30:03 2006 +0000

    Optionally repack the object repository after every pull
    
    Add an option to .stgitrc which causes the object repository to be repacked
    after every "stg pull" operation.  Especially on NFS, this improves overall
    performance considerably.  The only downside is that the first time it runs
    it will take a very long time if the repository hasn't been packed
    recently.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

commit 948dae344afd7633b7a074beb36113c1b46527eb
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Nov 8 22:30:03 2006 +0000

    Add a new option to "stg applied" and "stg unapplied" that provides a count
    
    of patches rather than a list.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

commit b6c37f4433456a30a227e6cbb18fbe0a83e93100
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Nov 8 22:30:02 2006 +0000

    Print a message while checking for changes in the working directory.
    
    Helpful on slow file systems such as NFS.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

commit 99c529152847b7e20e48dc477925e315918eed5d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Nov 8 22:30:02 2006 +0000

    Add mbox support to "import"
    
    This patch allows the "import" command to read an mbox file. It also fixes
    various bugs and modifies git.apply_patch() to dump the failed patch to
    the .stgit-failed.patch file for easy inspection or manual applying.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ac50371bda350d9d8a9d7bd23b1d5691d82b4d0d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Nov 8 22:30:02 2006 +0000

    Add a trash directory with deleted patches
    
    Since the delete command now supports multiple patches (and a ".." would
    remove the whole stack), it is safer to copy the commit ids to
    .git/patches/<branch>/trash/ in case a restore is needed. There is no
    command allowing the restoring yet.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6ef533bcc52fbf933e9f428d8ea2bf690f0ad76a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Nov 7 19:03:49 2006 +0000

    Add support for multipart messages to import
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2ac5a14c60a28ff7d68a4d50469c0a111b966bfc
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Nov 7 19:03:49 2006 +0000

    Properly import qp-encoded e-mail headers
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 61eed15276863e203a70870caa84daab60765c40
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Nov 7 19:03:48 2006 +0000

    Properly encode the e-mail headers and body
    
    The headers are QP-encoded and the body is left as utf-8. The mail command
    now uses the email Python package for setting the headers and encoding. The
    template files were modified as there is no need for "Date:" and
    "%(endofheaders)s".
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b839b1cf42be33947adb87d6a2ae2164aad2371e
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Nov 7 19:03:48 2006 +0000

    Generate unique patch names
    
    "stg assimilate" was already making sure that automatically generated
    patch names were non-empty and unique, by suffixing them with a dash
    and a number if necessary. This patch moves that functionality into
    the autogeneration function itself, so that all its callers can
    benefit from it (and the user can benefit from uniform behavior from
    all stgit commands).
    
    As an added bonus, this permits the removal of a number of checks that
    would abort with an error if the automatically generated name was
    empty.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit f9a2b5dae96b05071105a9b84e98bcc8942960ed
Author: Karl Hasselström <kha@treskal.com>
Date:   Tue Nov 7 19:03:47 2006 +0000

    Generate shorter patch names
    
    Not all commits are blessed with a really short first-line summary in
    their commit messages. This means that we shouldn't blindly take the
    entire first line of the comment, since that sometimes results in
    truly spectacular patch names.
    
    I chose 30 characters as a reasonable value, considering that we don't
    yet have any tab-completion on patch names. There's probably not much
    point in making it configurable.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 2153b8f56dfa10936ca934a68a364dacdf161117
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Nov 2 21:18:33 2006 +0000

    Slightly change the multiple patches delete function
    
    The function now first checks whether it can do the operation (i.e. the
    applied patches are in consecutive reverse order starting from topmost)
    before performing any deletes. It also eliminates the need to check for
    local changes with every delete or when the operation is targetted to a
    different branch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 87bcf96e1932268c3bb67c99bde6c8e897ec9fdf
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Nov 2 21:18:33 2006 +0000

    Allow deletion of several patches at once
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 9b63cf56576bf219d26f490f3c011e937a5f7129
Author: Ilpo Jrvinen <ilpo.jarvinen@helsinki.fi>
Date:   Thu Nov 2 21:18:32 2006 +0000

    Fixes "stg goto `stg top`" to no-op & adds test
    
    Please forgive me that didn't read the test metadata through while
    producing the last patch. This time also it should be correct...
    
    StGIT tried to access index that is not valid when goto'ing to
    the current patch. Adds also a test for it.
    
    Signed-off-by: Ilpo Jrvinen <ilpo.jarvinen@helsinki.fi>

commit 0ba13ee974124145b9d47b8f305db717e7ab3630
Author: Karl Hasselström <kha@treskal.com>
Date:   Thu Nov 2 21:18:32 2006 +0000

    Allow hand-editing of patches before sending
    
    This adds a new flag to 'stg mail', allowing the user to hand-edit
    each patch e-mail before it is sent, just like it is currently
    possible to edit the cover message.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 2f5e43aab8d29b746a8e21597a5032eb77be1612
Author: Robin Rosenberg <robin.rosenberg@dewire.com>
Date:   Thu Nov 2 21:18:32 2006 +0000

    Bash snippet to show branch and patch in bash prompt
    
    Modified according to Eran Tromer's suggestions. Also added some personal
    preference to the default PS1 but people should really adapt this to their
    needs.
    
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>

commit c333afcf5feb13f23746410a14aa9d42efc9ff01
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Nov 2 21:18:32 2006 +0000

    Clean-up the number of imports in main.py
    
    This is needed to reduce the start-up time to about a half. Only the module
    for the given command is loaded.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 613a2f163a1c2185eb03f1d9e8504e8fd737a4a4
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Thu Nov 2 21:18:31 2006 +0000

    Stgit: allow importing series files where patch names include slashes
    
    Do that by converting slashes in patch name to dashes. Actually one could think
    that different quilt folders relate to topic branches, but I do not see an
    obviously correct mapping nor users which would do that.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit d884c4d8fd0a990d0746c7964bfd979a625c7ab2
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Oct 27 21:20:27 2006 +0100

    Add the 'autobcc' config option
    
    Useful to automatically bcc the e-mails to a given address.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d323b5da574ae8dabee51d8b7e74498d45784ab7
Author: Robin Rosenberg <robin.rosenberg@dewire.com>
Date:   Fri Oct 27 21:20:26 2006 +0100

    Add an optional prefix to the PATCH subject when mailing.
    
    This is for submitting patches to mailing lists with multiple
    projects.
    
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 519a11f91b58d475d849572959fbfe98dcd8ab95
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Oct 25 20:24:55 2006 +0100

    Regression test for "stg assimilate"
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 4d0ba818236453fae51c9efb64950f23557cc428
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Oct 25 20:24:55 2006 +0100

    New stg command: assimilate
    
    Introduce an "assimilate" command, with no options. It takes any GIT
    commits committed on top of your StGIT patch stack and converts them
    into StGIT patches.
    
    Also change the error message when an StGIT command can't do its job
    because there are GIT commits on top of the stack. Instead of
    recommending "refresh -f", which is a destructive operation, recommend
    "assimilate", which is not.
    
    NOTE: "assimilate" currently refuses to work its magic if it
    encounters a merge commit. This is reasonable, since merge commits
    can't (yet) be represented as StGIT patches. However, it would be
    possible (and well-defined) to replace the merge commit with a regular
    commit on the branch with the same end result (tree object),
    discarding all the parents that aren't on our branch. But this would
    take a substantial amount of code, and is of dubious value, so for now
    "assimilate" just cries bloody murder if it finds a merge.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit a9d82c361e1923fc487ec06d4fa091ef1511732a
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Oct 25 20:24:54 2006 +0100

    Disregard extraneous arguments when providing help
    
    "stg --help pop" prints the help text for pop, but "stg --help pop
    foo" just prints the list of commands. That's silly, so fix it by
    simply ignoring the extra arguments.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit d00e708af18a0fffe53795dc547873d3efd1c909
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Oct 25 20:24:54 2006 +0100

    When no command was given, print usage message
    
    It's just silly to say "Unknown command" when the user didn't give a
    command. Better to tell her to use a command.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 4fe42e6312780d5c325ddd8e533b3198d065bd05
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed Oct 25 20:24:54 2006 +0100

    Let "stg help" be like "stg --help"
    
    "stg --help" prints the list of commands, but "stg help" just prints
    the usage message for the help command. This may be useful in theory,
    but the distinction is probably lost on 95% of all users (and the
    remaining 5% probably don't need to see the usage message for the help
    command anyway, since they know how it works). So just make both
    commands output the helpful command list.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 275bf2c0d5cb48b370587cf2583a87b20e4872ac
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Oct 21 09:42:19 2006 +0100

    Release 0.11
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6b136bb539e2019d4fca30f3a22fbc18f730facb
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Oct 20 21:48:32 2006 +0100

    Add Debian package support to StGIT
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1ab20f6c8d5cd950106eff62820e8ee213ce09f8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Oct 20 21:48:32 2006 +0100

    Rearrange the patches with a given series file
    
    This patch adds the --series option to the float command to reorder the
    (top) patches as specified in a series file (or standard input).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f8d1cf651e6f767e17ea9aad7702a6aaedc2960e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Oct 20 21:48:32 2006 +0100

    Add --auto option to 'mail'
    
    This option causes the mail command to automatically add the patch signers
    to the Cc list. The patch also fixes the multiple To/Cc/Bcc lines
    generation.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b3bfa1200ad22ba55ed1531bff439d6d63ec36e5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Oct 20 21:48:32 2006 +0100

    Allow the git-pull command to be configurable
    
    This way some people can use cg-pull instead. The patch also does some
    clean-up in the example stgitrc file.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0eec33bc01b3b6db6e99d7ca307c66f046ebff2e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Oct 20 21:48:30 2006 +0100

    Add the diffcol.sh file to the contrib directory
    
    This script is a pager for colourifying the diff output. Copied from Quilt.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d98a499cb2a75decec1fb5f313ec07fa8e00ec2d
Author: Robin Rosenberg <robin.rosenberg@dewire.com>
Date:   Tue Oct 17 19:39:53 2006 +0100

    New command 'float' to move a patch to the top
    
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 16fee874e7d2591849708b47ae0f486637d42cbc
Author: Robin Rosenberg <robin.rosenberg@dewire.com>
Date:   Tue Oct 17 19:37:26 2006 +0100

    Fix the --cover option.
    
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e45af3d4a0faa3f7c46a0a2a9647ad09f1ba8720
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Oct 17 19:37:26 2006 +0100

    Fix the preserving of the local changes during pop
    
    The operation now only preserves the local changes by reverse-applying the
    diff of the popped patches.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c40c3500e2475859f051c750ae9ff5cba2f54000
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Oct 16 19:36:49 2006 +0100

    Add --sign and --ack options to refresh
    
    These options automatically sign or acknowledge a patch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1e0754060c4fbf7a35efc8557e8d798a49103324
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Oct 16 19:36:49 2006 +0100

    Add the '--interactive' option to 'resolved'
    
    This options causes the 'resolved' command to run an interactive merge tool
    like xxdiff or emacs, defined by the 'imerger' variable in the .stgitrc
    config file.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1fece88ef919ba160673e65488d4867c6d49dda7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 15 19:24:02 2006 +0100

    TODO list update
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d1ed3a126920b502b2e7c37a609ecae480b8b254
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 15 19:24:02 2006 +0100

    Add the --noreply option to 'mail'
    
    There are mailing lists (ARM Linux Kernel is one of them) that filter out
    e-mails having the In-Reply-To: header but a subject line not starting with
    Re:. With this option, the mail command will not create the reply-specific
    headers (the patch series will be unthreaded).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 64354a2d7d5f11f2592f72b74b48d750cf00c6f7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 15 19:24:02 2006 +0100

    Add patch history support
    
    The patch history tracking works by generating a chain of log commits for
    the corresponding patch commits. A 'log' command is available to either
    list the changelog or invoke gitk.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 43e97a2036d951afaf5bc0cffd9633f4c634fc7d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 15 19:24:01 2006 +0100

    Add the --graphical option to series
    
    This option invokes gitk on all the patches rather than printing the
    series.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 75a221d2f3dcfa4b8af1e994ba9ea6d6f7826a45
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 15 19:24:01 2006 +0100

    Allow empty commit messages
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f46f4413587c2941a555aa6014c3e306bbd67fd6
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Sep 10 14:58:54 2006 +0100

    Add --keep option to pop
    
    This option allows popping patches without affecting the working directory.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2406f7d16cad24d396b3e8ea5605813f4011b5a6
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Sep 10 14:56:38 2006 +0100

    Use get-ref-list to get the commit parents
    
    Thanks to Yann Dirson for submitting the initial patch. The patch was
    modified to only call git-rev-list when the commit parents are
    required, otherwise operations like 'push' would be slowed down.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 89e3bc51b5d645f6814a152d853994467eafea81
Author: Yann Dirson <ydirson@altern.org>
Date:   Mon Aug 14 18:55:42 2006 +0200

    Add a --parent flag to "stgit pick".
    
    
    This is useful to pick changes from a non-stgit branch, that were
    recorded as a merge commit, while giving control on the parent to
    use as "bottom" for the patch (for some reason stgit selects the
    first parent by default).
    
    Incidentally, it can be used to pick changes between arbitrary
    trees in the revision graph.  Since that can be useful as well,
    I did not implement the is_parent check I originally meant to add.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 6b1e01119114f9ebf4e047485f089b7c58823710
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Aug 11 17:32:33 2006 +0100

    Use the ".." syntax for patch ranges
    
    This patch also adapt the push/mail/diff/export commands to the new
    syntax.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit bd427e467ee41df85a761d4d6001b5f3797644cd
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Aug 11 17:32:31 2006 +0100

    Set the .txt extension to the StGIT commit message file
    
    The original extension was .msg which editors like emacs couldn't guess.
    The patch changes it to .txt.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 860d288db5f555a00a27a05bffd9b19fda154ccb
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jul 14 17:25:36 2006 +0100

    Automatically generate patch names for uncommit
    
    This is the same as in the pick or import commands, the patch name, if not
    specified, is automatically generated from the first line of the patch
    description.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1f3bb0172efa4e5edf43f5407306f0cf3e1b717e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jul 10 22:21:22 2006 +0100

    Add a common function for reading template files
    
    Useful to search through various directories without duplicating the code.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a57bd72016d3cf3ee8e8fd7ae2c12e047999b602
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jul 5 19:27:02 2006 +0100

    Add '--' to git-diff-index calls
    
    Without this, git-diff-index was confused about the command line arguments
    and commands like 'push --undo' and 'status --reset' failed to work
    properly.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit fff9bce57321720677a897e3c811538eea6a9cb6
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jul 5 19:27:02 2006 +0100

    Get the patch name from the description
    
    The import and pick commands can get the patch name from the patch
    description if it wasn't passed on the command line or the patch is read
    from the standard input (for import).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit fdf4cb43a1c8133e013fd8ca2d1a5753ea048c90
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jul 5 19:27:02 2006 +0100

    Do not use the pager when the output is empty
    
    This is for the diff and show commands to not run the output through the
    pager if there is nothing to display.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 9f2de96a7d7a983b13ad807a433c5d1d6d6e5b3b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jun 11 13:21:04 2006 +0100

    Release 0.10
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 52a58fc92770b40e34ab36d4c8482b1b95847bf0
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jun 11 13:21:02 2006 +0100

    Update the TODO file
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 85b0588fae6d7baba9a2e49949c7e250cc66f2bc
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jun 11 13:16:26 2006 +0100

    Fix the t0001-subdir-branches.sh test
    
    It was using 'stg add <file>' without any patches applied. This now fails.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit cfe14b4f807febe8be658138b8565579ead331a2
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jun 11 13:12:39 2006 +0100

    Fix the add and rm commands to fail if no patch is applied
    
    They were just adding the file without complaining.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3a284728a544e34d9db139c3ac589c36275c2416
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jun 11 13:12:30 2006 +0100

    Generate an empty commit for the newly created patches
    
    This way, 'stg show' will no longer display the previous patch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2c5d22429b0b9e35684af0812228aea41b8425ce
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jun 11 13:05:56 2006 +0100

    Show the stderr for failed GIT commands
    
    This allows easier diagnosis of the faults.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 92d99c04b37e536ef01dad4f9936a67f1da710fa
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jun 11 13:05:02 2006 +0100

    Fix the t1201-pull-trailing.sh test
    
    The test was expecting a failure but StGIT actually does a three-way merge
    that succeeds.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5dc51fea740a2e2e2fa3d4462efe719ce0ab02b1
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun May 28 23:25:19 2006 +0200

    Classify commands in stg --help output.
    
    
    Commands will be much easier to find out that way.
    Inspiration mostly comes from pg-help.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 034db15c1443a01ed1333eaa2f41c1b74adef6bb
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jun 6 19:15:13 2006 +0100

    Add the --replace option to import
    
    By default, import fails if an existing patch is found with the same name.
    With this option, import replaces the existing patch if it is unapplied.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2c3a16552d7d3809145890e0e3ac65ea88a6bd52
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun May 28 08:46:11 2006 +0100

    Allow to specify multiple patch names on push command-line
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 994fdba73855eb93305d4722678b2af8266dbcb5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu May 25 21:38:10 2006 +0100

    Implement the 'goto' command
    
    Push/pop patches to/from the stack until the one given on the command
    line becomes current. This is a shortcut for the 'push --to' or 'pop
    --to' commands. There is no '--undo' option for 'goto'. Use the 'push'
    command for this.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d0bfda1a1a21cb1f4ef661051199f98fd4869752
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed May 24 22:03:40 2006 +0100

    Add the --update option to pick
    
    This option updates the current patch with changes from the picked commit
    or patch. This option is useful when work is done on a temporary patch but
    the changes need to be folded back into existing patches. Note that
    three-way merging is not supported with this option (I'm not sure it is
    even needed).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 93a4d1ae150eeb634b45ad4a688088de8cb1956e
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed May 24 08:07:21 2006 +0200

    Explicitly specify utf-8 coding in file
    
    uncommit.py has a non-ascii character in it (in my name in the
    copyright line). Without this coding: comment, I get an error like the
    following when I run stgit:
    
      /home/kha/git/stgit/stgit/main.py:61: DeprecationWarning: Non-ASCII
      character '\xc3' in file
      /home/kha/git/stgit/stgit/commands/uncommit.py on line 3, but no
      encoding declared; see http://www.python.org/peps/pep-0263.html for
      details

commit e3960931aafc4841588b0a39d74dfaf768c9219b
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed May 24 08:06:58 2006 +0200

    Fix indexing error during "diff -r/"
    
    The string indexing when decoding the -r argument for diff made an
    implicit assumption that the revision string was at least two
    characters long, which broke on the simple invocation "diff -r/".

commit 01f76ccd02493effc275265ddf3b3f567eedd917
Author: Karl Hasselström <kha@treskal.com>
Date:   Wed May 24 08:06:43 2006 +0200

    Fix infinite recursion on absolute paths
    
    Calling create_dirs with an absolute path caused infinite recursion,
    since os.path.dirname('/') == '/'. Fix this by exiting early if the
    given path already is a directory.

commit 16dcfb85fbcbb4a961ed18f8e69d3cc2387c33df
Author: Karl Hasselstrm <kha@treskal.com>
Date:   Thu May 18 21:36:41 2006 +0100

    Tests for branch names with slashes
    
    Test a number of operations on a repository that has branch names
    containing slashes (that is, branches living in a subdirectory of
    .git/refs/heads).
    
    Signed-off-by: Karl Hasselstrm <kha@treskal.com>

commit 6e83f4d7c39b981146f57aad8049c5622799dd00
Author: Karl Hasselstrm <kha@treskal.com>
Date:   Thu May 18 21:36:41 2006 +0100

    Handle branch names with slashes
    
    Teach stgit to handle branch names with slashes in them; that is,
    branches living in a subdirectory of .git/refs/heads.
    
    I had to change the patch@branch/top command-line syntax to
    patch@branch//top, in order to get sane parsing. The /top variant is
    still available for repositories that have no slashy branches; it is
    disabled as soon as there exists at least one subdirectory of
    refs/heads. Preferably, this compatibility hack can be killed some
    time in the future.
    
    Signed-off-by: Karl Hasselstrm <kha@treskal.com>

commit 7217efbf26d7ec757ac72fdadf247a932e56244a
Author: Karl Hasselstrm <kha@treskal.com>
Date:   Thu May 18 21:36:40 2006 +0100

    Don't die when there are no branches
    
    Signed-off-by: Karl Hasselstrm <kha@treskal.com>

commit d7fade4be437ade1eaf92ca29cc99b566b0e3c18
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue May 9 21:21:28 2006 +0100

    Allow configurable file extensions for merge conflicts
    
    The files left after a merge conflict had confusing extensions. This patch
    adds the "extensions" config option and also sets the defaults to
    ".ancestor", ".current" and ".patched".
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c8a4777f93c66181a78c25d292be3681ecf3adaa
Author: Pavel Roskin <proski@gnu.org>
Date:   Mon May 8 21:22:06 2006 +0100

    Add a simple makefile
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit 2297d0e95e2af010588215a3e896e0bbd39118df
Author: Pavel Roskin <proski@gnu.org>
Date:   Mon May 8 21:22:06 2006 +0100

    Add .gitignore files, list generated files there
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit 9cfad9525f37ffe57edefe112982c46187a02ff6
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon May 8 21:21:22 2006 +0100

    Fix git.reset() to remove the added files
    
    The combination of git-read-tree and git-checkout-index used in the
    git.checkout() function doesn't remove the files added to the index. This
    patch adds the file removal support to the git.reset() function. It also
    changes the git.apply_diff() call in stack.Series.merged_patches() so that
    the the index is always updated (otherwise the reset wouldn't know which
    files to remove).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 56df21ed4cf5230924b5b6bd69b138da904758d0
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed May 3 20:34:18 2006 +0100

    Fix the added to both but different conflict
    
    By default, the index was left with two unmerged entries. StGIT tries to
    leave the index clean after conflicts.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 774fc1e90859cc68926f4357347b0624d43f746f
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed May 3 20:34:18 2006 +0100

    Allow git.checkout() to work on unmerged indexes
    
    If the index has unmerged entries, the current checkout implementation
    fails because of the -m option. This patch removes the option since it is
    not needed on tree_id is specified. This also allows "stg status --reset"
    to work on unmerged indexes.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2ac49695d699a49f70bc2a899889d723797c6e12
Author: Yann Dirson <ydirson@altern.org>
Date:   Wed May 3 20:34:18 2006 +0100

    Fixes to the pull testcases.
    
    As mentionned earlier, the original testcases do not take --merged
    into account.  Let's expect the push to fail without it, and succeed
    with it.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 94d1886878f54807b7c2be9eec9410723c04f2f2
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun Apr 16 12:52:46 2006 +0200

    Look for templates in ~/.stgit/templates as well
    
    
    This can be quite useful to avoid adding one's sig again and again to
    ever covermail, and to use a patchmail template that insert
    Signed-off-by lines, for those of us who prefer this to adding them to
    commits.
    
    Also make sure to use os.path.join() instead of hardcoded slashes.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit bcfe759bc421f8e3b5b5866434948b0e406f9a60
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun Apr 16 12:52:44 2006 +0200

    Exercise "stg pull" on patches just appending lines.
    
    
    It indeed reveals a problem in "push": appended lines are appended
    again, as the already-applied patch is not detected.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 8c8be628038f425c90c2101e362bf77f9a8bd948
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun Apr 16 22:40:29 2006 +0200

    Test that pulls a patch creating a file that got modified afterwards
    
    This demonstrates an issue wite has bitten me more than once: the stg
    branch adds a file in one patch, and modifies it in a later patch; then all
    patches get integrated in upstream tree, and at "stg pull" time, stgit
    believes there is a conflict, even when the patches are exactly the same.
    
    This is normal as it requires the --merged flag on push or pull.  So
    we rollback with "push --undo" and "push --merge" to finish.

commit 608961c24ee007e7a19db6be020f3be0d8155511
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun Apr 16 12:52:39 2006 +0200

    Fix a seriously bad interaction between .git caching and repo cloning
    
    
    Testcase 2 exhibits a problem with caching the location of .git while
    cloning a repository.  Since basedir.get() is called before the clone is
    built, a value may get stored in the cache if we are within a
    git-controlled tree already.  Then when constructing the object for the
    clone, a bogus .git is used, which can lead, when running tests in t/trash,
    to corruption of the stgit .git repository.
    
    Testcase 1 does not show any problem by chance, because since we have a
    ./.git prepared for use by the testsuite, value ".git" get cached, and it
    happens that this value will be still valid after chdir'ing into the
    newborn clone.
    
    Clearing the cache at the appropriate place fixes the problem.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit a5f1eba2761eba8987c94bf61e0a4b7528afbb5f
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun Apr 16 12:52:37 2006 +0200

    Correctly handle refs/patches on series rename
    
    
    When renaming a series, the refs/patches dir was not moved, and by
    chance a new one was created by the repository-upgrade code, but that
    left the old one behind as cruft (which the safety checks added in a
    former patch now detects).
    
    Also adds a regression test to assert that nothing by the old name
    is left behind.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit a22a62b6760b0e1531d783e414c65ada3d1525d6
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun Apr 16 12:52:35 2006 +0200

    Make branch creation atomic
    
    
    This patch adds an optional create_at parameter to Series.init(), to
    pass a git.branch_create() parameter if we want it to be called.  This
    parameter can be None, so the test for False has to be explicit.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit fe847176ac839e64d426e6bf8ab7ad67ba3129d6
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun Apr 16 12:52:32 2006 +0200

    Add a couple of safety checks to series creation
    
    
    - we must check first whether the operation can complete, instead of
      bombing out halfway.  That means checking that nothing will prevent
      the creation of stgit data (note that calling is_initialised() is
      not enough, as it does not catch a bogus file), which is tested by
      the 3 first couple of testcases, and fixed in stack.py
    
    - creating the git branch unconditionally before knowing whether
      creation of the stgit stuff can be completed is a problem as well:
      being atomic would be much much better.  To emulate atomicity (which
      comeds in the next patch), this patch does a somewhat dirty hack to
      branch.py: we first attempt to create the stgit stuff, and if that
      succeeds, we create the git branch: it is much easier to do at first
      a quick check that the latter will succeed.  Testcase 7/8 ensure
      that such a safety check has not been forgotten.
    
    - when git already reports a problem with that head we would like to
      create, we should catch it.  Testcase 9/10 creates such a situation,
      and the fix to git.py allows to catch the error spit out by
      git-rev-parse.  I cannot tell why the stderr lines were not included
      by the Popen3 object.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit 8351555474ced37a21799755762ad69b3c826d70
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun Apr 16 12:52:30 2006 +0200

    Add list of bugs to TODO
    
    
    Since there is no formal place to register bugs, other than the git
    ml, I have added a couple of them, some of them already mentionned on
    the ml but still around.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit aa9b1b9d49ec37d28b6f576656170d47618e25b5
Author: Yann Dirson <ydirson@altern.org>
Date:   Sun Apr 16 12:52:28 2006 +0200

    Add a testsuite framework copied from git-core
    
    
    See git's t/README for details on how to use this framework.
    
    There is no integration yet in the toplevel Makefile, I'll let
    python masters take care of this.  Use "make -C t" to run the
    tests for now.
    
    A patch-naming policy should be defined for stgit, since the
    git one does not apply.
    
    Signed-off-by: Yann Dirson <ydirson@altern.org>

commit ee78cb260d1ce52cf6cc81c6d8b320e75243b4e5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Apr 7 21:46:30 2006 +0100

    Release 0.9
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5d12e944baee8163ebf1eb3f24f5b706202da59c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Apr 6 21:22:05 2006 +0100

    Use 'git-*' instead of 'git *'
    
    This is to avoid starting the shell twice, at least until the GIT people
    decide to no longer support the 'git-*' commands.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 52f3900c0c7dec8581fa907495a09c900a3d39d7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Mar 31 18:42:35 2006 +0100

    Use a pager for diff and show commands
    
    This patch also adds a pager configuration option that overrides the
    default PAGER environment variable.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c82395b46d238948882045e76e7770319a4f40e8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Mar 31 18:42:34 2006 +0100

    Remove the basedir exception throwing
    
    This is preventing even 'clone' from working properly.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8847a11b3bbf5406f37a360e5466f0e392c56383
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Mar 31 18:42:34 2006 +0100

    Add a 'show' command
    
    This command is similar to 'git show' only that it understands patch names
    as well as normal commit ids.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f80bef4918840e4290f03f291d8b4dbb98b12d80
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Mar 31 18:42:34 2006 +0100

    Add the '--undo' option to 'refresh'
    
    This option is useful when adding the changes to the wrong patch (usually
    instead of creating a new one).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2c02c3b72d10e45f331e1276caccfa1b3d7c58d5
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Wed Mar 29 16:25:31 2006 +0200

    Pass --directory to git-ls-files for stg status
    
    Requires GIT 1.1.0 at least (don't know if this was backported in 1.0).
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 19a56fa11f6ff1dc6315e37c8f8d286a7e153cb9
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Mar 28 22:01:03 2006 +0100

    Add extra headers to the e-mail messages
    
    This patch adds the Content-Type, Content-Transfer-Encoding and User-Agent
    headers to the e-mail messages.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b517494ffb555c80cff724f0f4575821d899fe4b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Mar 28 22:01:02 2006 +0100

    Remove the checking for the default configuration values
    
    Since some options are set as defaults in stgit/config.py, there is no need
    to check for their presence with config.has_option().
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 170f576bb9eac1dafc139de7b51226d78d31cbbe
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Mar 28 22:01:02 2006 +0100

    Create stgit/basedir.py for determining the .git directory
    
    basedir.get() function is used in many files and leaving it only in
    stgit.git caused some cyclic imports.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1e78b00609d4d284f6316a328aa9b25c1cf2a254
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Mar 28 22:01:02 2006 +0100

    Add the "smtpdelay" config option
    
    This option is similar to the --sleep option for the mail command, i.e. the
    number of seconds between sending two consecutive patches.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c19dc3db115d85537dbdf0b4f12dc8b3bc9481c4
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Mar 28 22:01:02 2006 +0100

    The gitmergeonefile config section is deprecated
    
    Use [stgit] instead. For backward compatibility, also check the
    [gitmergeonefile] section.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a0f2cfcb8c45c388c2161bb30bcdbad21667f405
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Mar 28 22:01:02 2006 +0100

    Update the TODO file
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit bcb6d890a9805ef09bcaeb3c39a099895c6dd40f
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Mar 25 21:38:35 2006 +0000

    Fix the patch name stripping in import
    
    The current implementation was only stripping if both the prefix and the
    extension were present.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b0cdad5e3110d7dae19c7e0c33affdee241e8512
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 16 20:08:15 2006 +0000

    Add the --strip option to import
    
    This option strips the patch name of any leading numbering and .diff or
    .patch extension. Useful when importing a series or local files. The export
    command is able to automatically generate the numbering and extension.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 099ff6cd577fc42ae67f579316341960b9197bab
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 16 20:08:15 2006 +0000

    Add the --patch option to export
    
    This option appends the .patch extension to the generated patch names.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit df992d5a864942d572f0235cf9bf124050f790a8
Author: Sam Vilain <sam@vilain.net>
Date:   Thu Mar 9 18:29:58 2006 +1300

    common: parse 'email (name)' correctly
    
    Currently only e-mails of the form "Name <email>" are accepted by
    stgit import etc, however some people use "email (Name)".  Accept this
    alternate form.
    
    Signed-off-by: Sam Vilain <sam@vilain.net>

commit be746e7226154f253ae529372778ecd216fd3ee5
Author: Pavel Roskin <proski@gnu.org>
Date:   Mon Feb 20 12:18:14 2006 -0500

    Improve "stg uncommit" help text.
    
    Fix typos, rephrase some parts, describe in which order the patch names
    are used.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit 3659ef88d90c0c76acb34c448fb8f61087ff25b8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Mar 10 21:44:44 2006 +0000

    Deal with merge conflicts directly
    
    This patch removes the need of calling the external git-merge-index and
    gitmergeonefile.py. These are replaced by internal solving of the unmerged
    stages in the index file.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a622d90bbeccf29319dc2c3142a93ae1010648fe
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 9 21:53:54 2006 +0000

    gitmergeonefile.py should use git.get_base_dir()
    
    ... instead of assuming ".git".
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit edf4f599dcc78b741df36bf835cc14a1e0bafedb
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 9 21:53:54 2006 +0000

    Pass the --aggressive flag to git-read-tree
    
    This flags solves the file removals which consumes the most time when
    resolving the three-way merge conflicts.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 9f8a7c77791ec415475a88016d2bf072028373f9
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Mar 9 21:53:54 2006 +0000

    Cache the base_dir value for subsequent calls
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 9417ece4e8888cd3ed87b74d057c2a3cd21bb665
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Mar 3 22:13:11 2006 +0000

    Add --series to import
    
    This option allows the importing of a Quilt series of patches.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1777d8cd458bddb1a5f638e8928726167469154c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Mar 3 22:13:11 2006 +0000

    Add a merged upstream test for pull and push
    
    This patch adds the --merged option to both pull and push commands. With
    this option, these commands will first try to check which patches were
    merged upstream by reverse-applying them in reverse order. This should
    solve the situation where several patches modify the same line in a file.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f0699cc74b73be50a6a99aa3459fb74383c094c3
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Mar 1 21:42:01 2006 +0000

    Print a shorter usage message with the --help option
    
    The --help option for a command should only print a one-line usage mesage
    together with the options. The long command description is available
    through the 'stg help <command>' command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 38242738db8f183958ecab18a3604497d0fa592c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Mar 1 21:41:55 2006 +0000

    Allow stg to be loaded in pydb and not run main()
    
    This patch adds the __name__ == '__main__' condition to stg*. It also adds
    a stg-dbg file that starts pdb before invoking main().
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 510d1442b1fcabe006fcf322837980d23eaeb9c7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Feb 28 21:57:35 2006 +0000

    Fix the reset command to set HEAD to a proper id
    
    By default, the git.reset() command was setting the head to the 'HEAD'
    value (introduced by commit 15de5ae14f1c76adac52ca5633a679fba79a877c).
    This patch fixes it and also adds an assert in the __set_head()
    function to detect future bugs.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e2d769b29016dcb4e2294646f52a09d777a724d1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Feb 20 21:26:22 2006 +0000

    Fix the e-mail address escaping
    
    This patch makes StGIT only escape the quotes in an e-mail address since
    passing them unescaped as GIT_* environment variables can cause problems.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 73e2d98ea8bb1cae1c8d8b0cbdede66b26a05da6
Author: Karl Hasselstr\\\\m <kha@treskal.com>
Date:   Sun Feb 19 10:27:01 2006 +0000

    [PATCH 2/2] Add 'stg uncommit' command
    
    Add an uncommit command, which is exactly the opposite of 'stg
    commit'.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>

commit 29f005891588edee926512a03710672f43c21183
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 17 21:31:45 2006 +0000

    Add --mbox option to the 'mail' command
    
    With this option, the mail command will dump the e-mails to standard output
    in an mbox format. Useful to review the e-mails before sending.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1fceece7011fb0c32181d4e2128a871b09651b01
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 17 21:31:45 2006 +0000

    Add --stdout option to export
    
    This option allows the 'export' command to write the patches to the
    standard output. Useful for reviewing patches without writing them to
    files.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2b4b9c29d1bc5d98eafdfdc82b99b57ebd4298d0
Author: Karl Hasselstr\m <kha@treskal.com>
Date:   Fri Feb 17 21:31:44 2006 +0000

    Update .git/refs/heads/base after patch deletion
    
    Save the current HEAD into refs/heads/base if the stack is empty after
    a patch has been deleted. This was not done before, which caused
    refs/heads/base to not be updated after 'stg commit'. To guard against
    existing repositories with no applied patches and HEAD !=
    refs/heads/base, also do the update every time someone asks for the
    name of refs/heads/base.
    
    Signed-off-by: Karl Hasselstrm <kha@treskal.com>

commit 51cb39dbf3530655ed5af69b135e5b4edb4b7f4f
Author: Karl Hasselstr\m <kha@treskal.com>
Date:   Fri Feb 17 21:31:44 2006 +0000

    Change the signature start string to "-- \n"
    
    Change the signature start string from "--\n" to "-- \n" in the cover
    mail template, as recommended in Mutt's manual:
    
        It is *strongly* recommended that you not unset this variable
        [from its default value of "-- \n"] unless your "signature"
        contains just your name. The reason for this is because many
        software packages use "-- \n" to detect your signature. For
        example, Mutt has the ability to highlight the signature in a
        different color in the builtin pager.
    
    Signed-off-by: Karl Hasselstrm <kha@treskal.com>

commit d6a93cae39f0cf2c1d9d61179a9066cd1e7c3508
Author: Karl Hasselstr\m <kha@treskal.com>
Date:   Fri Feb 17 21:31:44 2006 +0000

    Use --refid option even when sending a cover mail
    
    StGIT used to just ignore the --refid option when sending a cover
    mail. With this patch, it will send the cover mail as a reply to the
    mail identified by the refid, and the patch emails as replies to the
    cover mail as usual.
    
    Signed-off-by: Karl Hasselstrm <kha@treskal.com>

commit 2fef9462b26126402f26140a02d3e16cdd2d9928
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Feb 17 21:31:43 2006 +0000

    Allow tag objects to be passed on the command line
    
    stgit.common.git_id() was modified to add '^0' to the revision so that a
    tag can be used for different operations and the corresponding commit will
    be returned. Commands like 'branch --create' were failing if a tag was
    passed.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 844a164019385f19d8607754b3ae130eee1dfd89
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Feb 13 16:54:09 2006 +0000

    Add prune-safety to StGIT
    
    The top of each patch will also be stored in the .git/refs/patches/branch/
    directory so that tools commands like git prune would not destroy the
    unapplied patches. Since there is no support for patch history at the
    moment, a git prune command would remove all the previous versions of a
    patch (which were no longer accessible anyway).
    
    The old repositories are automatically upgraded.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0a01a6d0eaf0c6a70819da2f73fc659e7a83b569
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Feb 5 10:31:27 2006 +0000

    Check whether the file exists in the fold command
    
    This is to avoid an error reported by GIT.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 4db741b16855c96a8a1f09ce1c91e5670d29a30d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Feb 5 09:45:21 2006 +0000

    Use the GIT-specific environment as default
    
    If the stgitrc files do not contain any information about the author or
    committer, make StGIT use the GIT_* environment variables as defaults.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit bad9dcfc19eb88f866ebf97692fbde5d7827f76e
Author: Chuck Lever <cel@netapp.com>
Date:   Sun Jan 29 13:14:01 2006 -0500

    Add an option to "stg branch" to convert the internal format
    
    Previous patch adds support for a separate patch directory in each branch.
    Let's give users an option to convert their old branches to new style ones
    and back.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 02ac3ad2d474c60c1cdcb6b45451c1077b735ca0
Author: Chuck Lever <cel@netapp.com>
Date:   Sun Jan 29 13:13:59 2006 -0500

    Use a separate directory for patches under each branch subdir
    
    Currently you can't specify a patch name that matches the name of one of
    the stgit special files under .git/patches/<branch-name>.  Let's use a
    new subdirectory under .git/patches/<branch-name> to contain just the
    patch directories to remove this limitation.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 31c5abf2374b391eb4353ca3955b5950f0eecd6d
Author: Pavel Roskin <proski@gnu.org>
Date:   Fri Jan 27 00:17:28 2006 -0500

    Treat "stg --help cmd" and "stg help cmd" like "stg cmd
    
    User's intention is perfectly clear if "-h", "--help" or "help" is
    followed by a valid command - show help for that command.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit a34b42e809fab42d08f92fed47d1e2f4226a50fb
Author: Chuck Lever <cel@netapp.com>
Date:   Sun Jan 29 13:08:36 2006 -0500

    "stg pull" says "popping all patches" even when it doesn't
    
    Running "stg pull" says it pops all patches, but it really means it is
    popping all *applied* patches.  Change the informational message to match
    the behavior.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 16ad223e74aae6fa78ca529e7af7db91097591bf
Author: Pavel Roskin <proski@gnu.org>
Date:   Tue Jan 24 16:25:41 2006 -0500

    stg export: check if there are any patches to export
    
    Otherwise, stg export fails with "list index out of range"
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit 026c0689b2a70875f48c8933298ef2ae8e4eae7c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jan 23 17:37:31 2006 +0000

    Allow patch refreshing for some files only
    
    The patch allows the 'refresh' command to accept files as arguments. Only
    the local changes to the specified files will be considered for inclusion
    in the patch to be refreshed.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 63fda3e18e0091a8643a79b350618f25708cb30e
Merge: dee200d 3bd6274
Author: Catalin Marinas <cmarinas@pc1117.(none)>
Date:   Mon Jan 23 14:37:16 2006 +0000

    Merge branch 'master' of http://homepage.ntlworld.com/cmarinas/stgit

commit 3bd6274e247baa8c9f652fcdfd74180b0933773c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jan 22 08:56:24 2006 +0000

    Remove the --force option for new
    
    The default behaviour is now the same as the previous 'new --force' since
    most of the people (and myself) first change the tree and run 'new'
    afterwards to create the patch. Note that the newly created patch is empty
    even if there are local changes. A 'refresh' command is needed to add the
    local changes to the patch.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 15de5ae14f1c76adac52ca5633a679fba79a877c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jan 19 15:01:29 2006 +0000

    Fix the 'status --reset' for individual files
    
    By default, status --reset calls resolved which updates the tree index and
    the git-checkout-index -f does not overwrite the files anymore. This patch
    explicitely resets the files to the HEAD tree id.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 4625b604cae3553d4db0177d4ab9f3ad682bdd15
Author: Pavel Roskin <proski@gnu.org>
Date:   Sat Jan 21 22:21:59 2006 +0000

    Make tutorial a valid asciidoc article.
    
    There should be only one level 0 title, so redefine underline rules in
    asciidoc.conf to keep the existing underlines when possible.  Form a new
    level 1 part "Technical Information" from the text at the end.  Make
    introduction a preamble - it's too short to be a level 1 section.
    
    Add doc/Makefile to process the tutorial automatically.  make needs to
    be run explicitly in the doc directory.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit dee200d76c847828f4c637ddb27cb67d39b94d7a
Merge: e40cf5e 9829038
Author: Catalin Marinas <cmarinas@pc1117.(none)>
Date:   Fri Jan 13 10:25:28 2006 +0000

    Merge branch 'master' of http://homepage.ntlworld.com/cmarinas/stgit

commit 98290387570c0494bd5303e2f7e9136c43745bcc
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jan 12 21:04:30 2006 +0000

    Fix the clone command failure
    
    The clone command fails because there is no GIT tree available, which is
    wrong. The patch fixes the Series.__init__() function and also creates a
    new Series object in clone.py once a GIT tree was initialised.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 388f63b6f44cae4d4b9a92b299c1ae45cc6de70d
Author: Pavel Roskin <proski@gnu.org>
Date:   Tue Jan 10 12:14:00 2006 -0500

    stgit: typo fixes
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

commit e40cf5ed24032a4a3e847e7c6a8b08f576109d1d
Merge: b92a211 1780280
Author: Catalin Marinas <cmarinas@pc1117.(none)>
Date:   Sat Jan 7 11:45:08 2006 +0000

    Merge branch 'master' of http://homepage.ntlworld.com/cmarinas/stgit

commit 1780280ce740fd36b032ef6fc42feb34d1dd272b
Author: Paolo \'Blaisorblade\' Giarrusso <blaisorblade@yahoo.it>
Date:   Sun Nov 13 20:42:25 2005 +0100

    Stgit - gitmergeonefile.py: handle removal vs. changes
    
    I just got a "removal vs. changed" conflict, which is unhandled by StGit. That
    is taken from git-merge-one-file resolver, but is bad, as stg resolved does not
    handle unmerged entries (and probably it should be fixed too).
    
    Sample patch included, but some thought must be done on it (see the comments I
    left in).
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit d33c40f167af6610143c318c25880019ecbd0421
Author: Kirill Smelkov <kirr@landau.phys.spbu.ru>
Date:   Mon Jan 2 14:26:02 2006 +0300

    [trivial]  fix spelling typos
    
    From: Kirill Smelkov <kirr@landau.phys.spbu.ru>

commit b92a21169f252bed46bc1833dee42531dfe913d6
Merge: 05c9e66 1f5b9c9
Author: Catalin Marinas <cmarinas@pc1117.(none)>
Date:   Fri Dec 23 14:34:51 2005 +0000

    Merge branch 'master' of http://homepage.ntlworld.com/cmarinas/stgit

commit 1f5b9c9a8202a1fd62cc0c88d17de681c1e85a62
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 23 14:26:15 2005 +0000

    Release 0.8
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2c4a491648aaf117a6d1b5af23b8b40be0d6dc4b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 22 14:26:42 2005 +0000

    "status --reset" does not restore the deleted files
    
    Actually, the broken code was restoring but deleting them. This was because
    git.reset() command was used in the past instead of git.switch(). This
    patch fixed it.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 05c9e6653351bb3c2c2ae822ace38f190288d70d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Dec 22 22:17:39 2005 +0000

    X-Gmail-Received: cccbb3cdc84ae431fe07356861cbfa18540eab00
    Delivered-To: catalin.marinas@gmail.com
    Received: by 10.70.27.12 with SMTP id a12cs9199wxa; Thu, 22 Dec 2005
            06:26:44 -0800 (PST)
    Received: by 10.67.27.6 with SMTP id e6mr472488ugj; Thu, 22 Dec 2005
            06:26:43 -0800 (PST)
    Return-Path: <Catalin.Marinas@arm.com>
    Received: from cam-admin0.cambridge.arm.com (cam-admin0.cambridge.arm.com
            [193.131.176.58]) by mx.gmail.com with ESMTP id
            y1si659917uge.2005.12.22.06.26.43; Thu, 22 Dec 2005 06:26:43 -0800 (PST)
    Received-SPF: pass (gmail.com: best guess record for domain of
            Catalin.Marinas@arm.com designates 193.131.176.58 as permitted sender)
    Received: from cam-owa2.Emea.Arm.com (cam-owa2.emea.arm.com [10.1.255.63])
            by cam-admin0.cambridge.arm.com (8.12.10/8.12.10) with ESMTP id
            jBMEQ4JH025197 for <catalin.marinas@gmail.com>; Thu, 22 Dec 2005 14:26:04
            GMT
    Received: from localhost.localdomain ([10.1.255.211]) by
            cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.0); Thu, 22 Dec 2005
            14:26:42 +0000
    From: Catalin Marinas <catalin.marinas@arm.com>
    Subject: [PATCH] "status --reset" does not restore the deleted files
    Date: Thu, 22 Dec 2005 14:26:42 +0000
    To: catalin.marinas@gmail.com
    Message-Id: <20051222142642.21281.82698.stgit@localhost.localdomain>
    X-OriginalArrivalTime: 22 Dec 2005 14:26:42.0831 (UTC)
            FILETIME=[BAE209F0:01C60703]
    X-Evolution-Source: pop://catalin.marinas@pop.gmail.com/
    Mime-Version: 1.0
    
    From: Catalin Marinas <catalin.marinas@gmail.com>
    
    Actually, the broken code was restoring but deleting them. This was because
    git.reset() command was used in the past instead of git.switch(). This
    patch fixed it.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 61dabd0e4d6a7ef2377813872235565924398e4f
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Dec 20 13:20:36 2005 +0000

    Fix the import command when the body is empty
    
    When the description doesn't have a body, the import command generates an
    exception.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a6248ea86b5a1ea92888db7c09423e20bac98c27
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 16 22:21:58 2005 +0000

    Update the TODO information
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c2428e5a74c81c38b1ee9a62f6d30f183cfe1493
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Dec 16 22:21:43 2005 +0000

    Update the tutorial
    
    Used the latest information on the StGIT wiki (thanks to Chuck Lever for
    updating it).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0543bc5f5a7aa71bcb94062fc3ce019f4d274f1d
Author: Trond Myklebust <trond.myklebust@fys.uio.no>
Date:   Thu Dec 15 22:36:59 2005 +0000

    remove formatting of git log entry on an imported patch
    
    The latest stgit changeset appears to reformat patch descriptions on
    import (stripping whitespace and adding newlines). I personally much
    prefer to be able to control the git log entry myself rather than have a
    program dictate the format to me.
    
    The patch also adds support for Date: and From: lines both before and
    after the subject (that is a less important change, and can be split out
    or thrown out if you prefer).
    
    Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>

commit 99e73103880bdd564b1ffbb264171c2412ae85ac
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Dec 11 09:46:52 2005 +0000

    Make StGIT comply with the author information retrieving
    
    The import command should search for a "From:" line in the body of the mail
    (or patch description) and use the author information from there. The
    export and mail commands should automatically add a "From:" line to the
    patch description.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit fec7f6586a1c4699a1e6bf75f8bd394bed27e222
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Dec 7 20:48:34 2005 -0500

    Remove "-r" option on invocations of git-diff-index
    
    Clean-up: the "-r" option on git-diff-index has no effect, and is now
    undocumented.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit a8032a85059af6e000e6ec958e4d1aa9d1b5db4d
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Dec 7 20:48:32 2005 -0500

    Add a brief sentence to the documentation of the "stg branch" command.
    
    Add a sentence explaining the default behavior of the "stg branch" command.
    Idea by J. Bruce Fields.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit cc3db2b1cfb886fddf76ef758b8fb7b06753347c
Author: Chuck Lever <cel@netapp.com>
Date:   Sat Dec 3 22:50:19 2005 -0500

    Add a "--clone" option to "stg branch"
    
    Cloning a branch means creating a new branch and copying all of the
    original branch's patches and its base to it.  Like creating a tag,
    but this also preserves all the StGIT patches as well.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 06dbe79199c668308befef3539a64d2242c861c1
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Dec 1 19:15:13 2005 -0500

    Fast-forwarding does a git.switch() even when it forwarded no patches
    
    The git.switch() in forward_patches() is not needed when no patches have
    been fast forwarded.  This is a significant speed up.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 6c4e4b6848f4d68aaeebbca4cbd0f544413c8dc1
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Nov 30 21:40:19 2005 -0500

    Make "stg export" save the base commit in the output directory
    
    When trying to apply a series of diffs that was exported from an StGIT
    series, it can be convenient to know exactly which base commit the
    patches apply to.  Save that commit as a comment in the "series" file.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 47d6ad471b3e2a613dcf1a2f348e09d2ca275514
Author: Chuck Lever <cel@netapp.com>
Date:   Tue Nov 29 17:09:47 2005 -0500

    Add facility to print short list of patches around 'top'
    
    When working in the middle of a very long series, I often find it useful
    to have a list of the patches right around the current patch.  Add an
    option to "stg series" called "--short" to provide this short list.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit f82e85bcc0c4e0a6e2012d6b8b48d9c0ea8009c6
Author: Chuck Lever <cel@netapp.com>
Date:   Tue Nov 29 17:09:45 2005 -0500

    "stg series" option to show patch summary descriptions
    
    Optionally show each patch's short description when listing a series.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit bae29dddde41058567a5ef9b44c160dd76b1c025
Author: Chuck Lever <cel@netapp.com>
Date:   Tue Nov 29 17:09:40 2005 -0500

    Use git-rev-parse to find the local GIT repository
    
    Use the latest git-rev-parse technology to allow some StGIT commands to
    function correctly in subdirectories of the working directory.
    
    Any command that relies on git-read-tree still doesn't work (changes to
    GIT forthcoming).
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 862ba51abe15297ad4219e6c0c03c9ce280f49e1
Author: Chuck Lever <cel@netapp.com>
Date:   Tue Nov 29 17:09:43 2005 -0500

    Align branch descriptions in output of "stg branch -l"
    
    When printing branch descriptions, start descriptions in the same column.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 49e316b9485e69d13a10aea4b97c4a1cfe65ee70
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 18 16:13:05 2005 +0000

    Allow 'stg status --reset' to work on individual files
    
    It is useful to be able to only reset some files. This patch allows this.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3888eb9a17d31de5d83983a6848490e3bf88635e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 18 13:18:08 2005 +0000

    Fix the unapplied variable missing in export.py
    
    The bug was introduced by a previous patch for better error reporting.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5a636ab334ec9414052aaf228010f3e43760b733
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Nov 16 21:39:30 2005 -0500

    Using delete_patch while deleting a branch is broken
    
    "stg branch --force --delete" takes forever, and often leaves the
    repository in a broken state.  The reason for this is the use of
    stack.delete_patch() to delete the patches before removing the series.
    
    The problem is delete_patch() will try to pop the patches, which changes
    the head link.  After the branch deletion is complete, HEAD will point to
    .git/refs/heads/current-branch, but the contents of current-branch will be
    the old base of the deleted branch.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit fcc1ad70be5ff89996358b6d770cd229fec2a3ba
Author: Chuck Lever <cel@netapp.com>
Date:   Tue Nov 15 17:58:47 2005 -0500

    Seamlessly allow diffs "from" the current working directory
    
    Sometimes I get a big patch B (say it applies to a tree T) that I
    want to split up into smaller patches P_1,...,P_n.  Say I've written
    patches P_1 and P_2 so far. I'd like a quick way to generate a diff
    between T + P_1 + P_2 and T + B, to see what's left to be done.
    
    Currently I use a dirty trick that depends on editing backup files
    directly.  If stg already stores trees with the results of applying the
    currently unapplied patches, then a way to diff my working tree with one
    of those would do the job.
    
    OK, I wrote the above and then discovered:
    	stg diff -r patchname/top
    
    Does what I want, except reversed.  OK, so stg diff is nifty.  I could
    do it with the following patch that changes the empty string to refer to
    the current working directory instead of the top of the last applied
    patch.  Then
    
    	stg diff -r :patchname/top
    
    gives what I want.  Since "/" is already available to refer to the top
    of the last applied patch, it makes more sense to me to allow "" for the
    current working directory anyway.
    
    IE, there's no way to explicitly refer to the current working directory.
    So the only way to get diffs with the current working directory is with a
    -r argument that has no colon or trailing slash, in which case you get a
    diff *to* the current working directory.
    
    So my proposal gives you an explicit way to refer to the cwd--the empty
    string, "".  That seems like a fairly symmetric way to do things, and it
    takes advantage of the unused syntax ":patchname" which currently just
    gives an error.
    
    Signed-off-by: J. Bruce Fields <bfields@fieldses.org>
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 84bf626831d23aef519baee9a798e7ea3e8eaa52
Author: Chuck Lever <cel@netapp.com>
Date:   Tue Nov 15 17:52:56 2005 -0500

    Clean up StGIT's "branch --delete" command
    
    os.path.isfile is not the same as os.path.exists.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 181b2e59cfa1cd7538ab2594ab79ef3cab8af81d
Author: Chuck Lever <cel@netapp.com>
Date:   Tue Nov 15 17:52:54 2005 -0500

    Cleanup: remove unused variable
    
    Get rid of git.py:head_link , as it is no longer used by any part of
    StGIT.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit fa3700cdb74d4790363c4230304c99fb0703f0b9
Author: Chuck Lever <cel@netapp.com>
Date:   Mon Nov 14 11:51:02 2005 -0500

    Fix a typo in the "add" command's documentation
    
    Signed-off-by: J. Bruce Fields <bfields@fieldses.org>
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 69517f723d87fdf9a1b9af1286ea5a965994bfef
Author: Chuck Lever <cel@netapp.com>
Date:   Mon Nov 14 11:50:59 2005 -0500

    Fix a typo in "stg pick"
    
    "Unknown" is misspelled.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 5fab72472592940daff2ff9820d79f5f75a3a0d6
Author: Chuck Lever <cel@netapp.com>
Date:   Mon Nov 14 11:50:57 2005 -0500

    use "crt_series.get_branch()" instead of "git.get_head_file()"
    
    More cleanup to the branch command.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit e19173dccd972a0a7d1c6417dfd8d6711b030faf
Author: Chuck Lever <cel@netapp.com>
Date:   Mon Nov 14 11:50:55 2005 -0500

    Better error message when renaming patches to same name
    
    Generate a more precise error message when trying to rename a patch to the
    same name.  This is what we get currently:
    
      [cel@dexter main]$ stg rename nfs_direct_wait nfs_direct_wait
      Renaming patch "nfs_direct_wait" -> "nfs_direct_wait"...stg rename: Patch
      "nfs_direct_wait" already exists
    
      [cel@dexter main]$
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 9a6e2cc3e43ca33cee2f069b28cb8029e3a127cc
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 11 10:12:46 2005 +0000

    Fix the --name option for the pick command
    
    If a patch name from a different branch is given, the --name option is
    ignored.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d218d2f8c234b1cb17616dc98d8e5d670138e124
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Nov 10 14:28:42 2005 +0000

    Optimise pick --fold to use git-apply first
    
    If "git-diff-tree | git-apply" fails, the command falls back to a
    three-way merge.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit fe4f6d5812d62c1d6a5e0aa7536bad2e8a3beb6b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Nov 9 21:57:38 2005 +0000

    Different fixes for the branch command
    
    Mainly checks for local changes were added and some typos.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 660ba985e6200c32fafdc545a74bd27e84cc2397
Author: Chuck Lever <cel@netapp.com>
Date:   Sat Nov 5 17:47:06 2005 -0500

    Generalize branch renaming
    
    The Series object already has the path names of all the pieces we need to
    rename, so let's reuse that information.  Extract the rename branch logic
    from the "stg branch" command and put it in stack.py.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 2d00440c09ffb87a3501df215d98af751a920d62
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Nov 2 16:55:46 2005 -0500

    Add a stack method for determining whether a branch is initialised
    
    Let's be consistent about how we decide whether a branch is ready for use
    by stgit.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 7cc615f31f10b3b5434f427c09a10a7dbbdd62db
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Nov 2 16:55:42 2005 -0500

    Replace a variable that uses the same name as a built-in
    
    Maintainability: "str" hides the name of a Python built-in function
    (found by pychecker).
    
    I've also replaced the use of the variable "string" throughout, as it
    hides the name of the Python 'string' module.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 93aa248c1f7d093c77959a70942e1ae6208750c8
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Nov 2 16:55:39 2005 -0500

    Fix up help string for "stg clone"
    
    The help string for "stg clone" is the same as the one for "stg pull".
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 4dcb1859c57d4b5c70bb28d01ebdca6147718a16
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Nov 2 16:55:37 2005 -0500

    "stg export" error message could be more specific
    
    Like similar previous patches, make "stg export" distinguish between an
    unapplied patch and a non-existent one when reporting a failure.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit e1db88d02ed4fbb0cb38c90ce6f9cd7416747d69
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Nov 2 16:55:35 2005 -0500

    remove extra refresh_index() call in apply_patches()
    
    apply_patches() calles git.merge() and git.switch(), both of which already
    invoke refresh_index().
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit d60cd083b1de0d100b96eacc4e172eca8da8f104
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 4 17:33:50 2005 +0000

    Add a space after ',' when building the e-mail recipients headers
    
    This patch also untabifies the mail.py file.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ed7ec17a15b2f5e6627d5114de90726b69526e42
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 4 16:05:09 2005 +0000

    Optimise the export command
    
    This patch replaces the call to git_id with patch.get_(top|bottom).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit cd25e03d30c7b3a3a0babf039446d626dbb5607b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 4 16:05:06 2005 +0000

    Add a patches command
    
    This command shows the patches that modify a given file.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 97310762059f05961ddac8d6a2e7be1ceeb6f349
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Nov 4 10:27:22 2005 +0000

    Fix the 'files' initialisation in git.checkout()
    
    The 'files' variable should have been initialised to an empty list, not
    None. Thanks to Kai Ruemmler for spotting it.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 9216b6023d6840c457172b375e14443189f7ef89
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:51:54 2005 -0400

    Using a mutable default function argument is bad
    
    Python function arguments can have default values.  These values are
    objects that are created when the "def" statement is run, not when the
    function is called.  These objects are thus persistent across calls to
    that function.  If a mutable object, such as a list, is used as a
    default argument, that object will retain its value across function
    calls.  This is potentially unwanted behavior if the function is called
    multiple times.
    
    Fix up function argument defaults in stgit/git.py, for safety.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 7354d6941b555dd15a0fe9c9e46d4394cf92f01f
Author: Paolo \'Blaisorblade\' Giarrusso <blaisorblade@yahoo.it>
Date:   Mon Oct 31 21:54:47 2005 +0100

    Add an option to delete a patch from a certain branch
    
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    
    Actually, simply adding the option is enough...
    Restrict print_crt_patch() to the case when we didn't specify --branch (as it's
    useless otherwise).
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 4d9fc826b24e49648bc976b41bbd1038f9c3f07c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Oct 27 20:47:25 2005 +0100

    Capture the KeyboardInterrupt exception
    
    This is to avoid a stack back-trace when a command is interrupted by the
    user.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5f9ce58710eac055cc4513329c1472ea9b5e1074
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Oct 27 20:47:24 2005 +0100

    Notify when a cherry-picked commit was modified by 'pick'
    
    The logic is similar to the 'push' command one (i.e. it is reported as
    modified if a three-way merge is needed).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 718a5e51af4cce124b9cc1e03db8706bc2c773dc
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Oct 27 20:47:24 2005 +0100

    Notify when a patch was modified during a push operation
    
    The logic of this is that when a "git-diff | git-apply" succeeds, the patch
    is reported as unmodified. If the the above operation fails and the command
    falls back to a three-way merge, the patch will be reported as modified.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 962ef1c731f01f4d6c146c2af88d69fcc7d023a9
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:52:00 2005 -0400

    Use __run instead of os.system() in git.merge()
    
    This is just a little faster, avoiding an unneeded invocation of the shell.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 741f278499bbb039814789c0d11639c71512df92
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:51:58 2005 -0400

    Prevent stderr from appearing on stdout when running commands
    
    The original purpose was to eliminate "fatal: Needed single revision" when
    a ref didn't exist, but this seems like an overall good thing to do to help
    with output cleanliness..
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit f8fb574771b75e3e4a96b7d48177cda55f681a1b
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:51:56 2005 -0400

    Need to do "git-update-index --refresh" in more places
    
    Recent changes to the git porcelain-ish shell scripts added
    "git-update-index --refresh" in several places.  This harmlessly allows
    a dirty tree during certain operations that use git-read-tree.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 5072554705c126bf4987fc078da2bd6f68787bdc
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:51:51 2005 -0400

    Print the git version when running the "stg version" command
    
    "git --version" was added only recently.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit f2944a74ffacb504b6fa092e138c3e7af3ed5ffb
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:51:49 2005 -0400

    "stg mail" doesn't distinguish between unapplied and non-existent patches
    
    Same fix as the recent fixes to "pop" and "push".
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit ebfd01568102fd1a782eddb026f14fd611fad87e
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:51:47 2005 -0400

    Make listing branches more efficient
    
    Listing branches appears to "init" the series twice for each branch in
    the list.  Similarly for deleting a branch.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 9756a20261dd76630b570b274afc18c3bf4c6589
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:51:45 2005 -0400

    Make switching to the current branch a no-op
    
    Check if "stg branch name" is switching to the branch we are already in,
    and make that case a no-op.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 547eb28f9892547a2ac7a29221582074e7ba0103
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:51:43 2005 -0400

    Fix exception error message in git.merge()
    
    Due to recent big git script rename.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit a6b4d2b579bded5f7117ae1fe61f7ee9e6e89c49
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:51:41 2005 -0400

    Get rid of an unused variable
    
    "git_opt" is unused in the rm() function.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 98d6e2c5e849d1a64ab3062aaeed5dd53fbba22e
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:51:38 2005 -0400

    Make sure switch_branch uses the right __head
    
    "switch_branch" needs to use the global variable __head, not a local
    version.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit e030aa4aea34ae10c7fb69446013804ad12cf36b
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:51:34 2005 -0400

    Remove unused import in stgit/git.py
    
    The "glob" module isn't used in stgit/git.py, so don't import it.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit e7dc3866ae7dc43c8497080de2f541d44dd083d8
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Oct 26 14:51:32 2005 -0400

    Give the global "crt_series" variable a default value
    
    The Python interpreter was searching every scope to find crt_series.  By
    providing a default value, this reduces the amount of searching the
    interpreter does looking for crt_series.
    
    I've noticed that most commands are faster with this change.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit b83e37e0e6ebeee860f72603333a326994210472
Author: Paolo \'Blaisorblade\' Giarrusso <blaisorblade@yahoo.it>
Date:   Thu Oct 27 10:56:34 2005 +0200

    Ask vim to avoid backup copies of .stgit.msg
    
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    
    Do this by adding nobackup to the modeline.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 54b095847e7d97697bde6d0beca7b6b9a67e9590
Author: Paolo \'Blaisorblade\' Giarrusso <blaisorblade@yahoo.it>
Date:   Thu Oct 27 10:56:22 2005 +0200

    Parse /top.old with id and when requesting diffs
    
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    
    Comparing a patch after and before a merge is very important, and looking into
    .git/patches by hand is not the nicer way to do it.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit e3e05587390305008b3a832f0f62b4c81adacfda
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Oct 21 14:25:23 2005 +0100

    Allow the editing of the cover message before sending it by e-mail
    
    When sending e-mails, it is easier to automatically invoke the editor on
    the cover message than writing it separately. This patch renames the
    --first option to --cover and allows a --edit option to edit the final
    message before sending it. With --edit only, the tool will use the default
    template in .git/covermail.tmpl or
    /usr/share/stgit/templates/covermail.tmpl.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit fa08ec0858ea909d724009ac4dbbac17fbbf2515
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Oct 17 15:50:19 2005 +0100

    Fix the branch protect/unprotect message
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 24eede728321fce4f73d812f3af2a35f679c2f9e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Oct 7 22:15:38 2005 +0100

    Flush the HEAD cache in set_head_file()
    
    This function also changes the value read from the HEAD link but it didn't
    flush the internal cached value.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c47501f994ed3b2e0906ccee5590903756fe566d
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Oct 6 21:59:55 2005 +0100

    Fix a bug in "stg branch --rename"
    
    We were using the wrong pathname when setting HEAD.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 2bc93640bae6adb563cd8b223af127c355bdd3a9
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Oct 6 21:58:01 2005 +0100

    [PATCH] Fix a couple of bugs in "stg branch --create"
    
    Use "switch()" instead of "git.switch()".  Also, __set_head is a little
    more complicated now, so a __clear_head_cache() is needed before we call it.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit c1fe1f9953a874eef1f4e975af0430766176e3f2
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Oct 6 13:57:40 2005 +0100

    Add support for branch description files
    
    These are single line files that are displayed by "stg branch --list".
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 0b4b9499a53813957d23adaa0e97e1cc3a3a6900
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Oct 6 13:57:12 2005 +0100

    Allow user to protect some branches against "stg pull"
    
    Sometimes we want to develop against a branch that doesn't evolve (eg.
    2.6.12).  To prevent an accidental "stg pull", provide two new options to
    stg: "--protect" and "--unprotect".  This also prevents deleting any
    patches in the series.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 7b1ba1a6f8c89f551377b3b3791bfee7b01d3350
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Oct 6 13:56:42 2005 +0100

    Rudimentary support for multiple development branches
    
     stg branch
    
       show the name of the current branch.
    
     stg branch <branch-name>
    
       switch to the named branch.  after the switch is complete,
       all currently applied patches in the target branch are
       applied.
    
     stg branch --create <branch-name> [ <commit-sha1> ]
    
       create a new branch.  if <commit-sha1> is not specified then
       the branch is created starting at the commit pointed to by
       the current HEAD.  otherwise, the branch is created starting
       at the given commit.
    
       when the branch creation completes, the new branch becomes
       the current branch.
    
     stg branch --delete [ <branch-name> ]
    
       delete a branch and all patches it contains.  if no name is
       specified, delete the current branch and switch to the
       "master" branch.  otherwise, delete the named branch.
    
     stg branch --list
    
       list all the development branches in the current repository
       along with their descriptions and status.
    
     stg branch --rename <from-branch-name> <to-branch-name>
    
       rename a branch, and switch to the new name.
    
     stg branch -h
    
       print a synopsis of the "stg branch" command.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 94b7894d7cbbbe5c1350a198727f88c51f3cd4de
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Oct 6 11:20:14 2005 +0100

    Allow print_crt_patch to work on other branches
    
    print_crt_patch() current prints the current patch in the current branch.
    Add a function argument to allow it to print the current patch in other
    branches.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 72594233910a7f3ae988020702de20d8703a2ffb
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Oct 6 11:19:22 2005 +0100

    Add the ability to rename a git branch
    
    To keep StGit-specific functionality separate from git functionality,
    create a git.rename_branch function to do appropriate sanity checking and
    rename branch heads.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 6f48e5f8db212cc241511aa03ed47534580357b2
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Oct 6 11:18:18 2005 +0100

    Add the ability to delete a branch to git.py
    
    "git branch -D" checks first to see whether all the commits in the doomed
    branch are already in the branch pointed to by HEAD.  I don't think we need
    that level of checking here.  We just delete "refs/heads/branchname."
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 982b96972967be0a9cbb5c25c4130e618f6f247e
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Oct 6 11:17:50 2005 +0100

    Add git method for switching to a different branch
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 2b4a8aa59ff6e4448406352d99b7d5235b0e3ce8
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Oct 6 11:17:48 2005 +0100

    Add git method for creating a fresh branch
    
    Basically this is "git checkout -b".
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit b99a02b040dd0dfbbace447bab95737d89fae575
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Oct 6 11:12:44 2005 +0100

    Create a new utility function in git.py for setting the HEAD link
    
    Add a new method in git.py for switching the HEAD link to point to a
    different ref.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit fc804a49aff45b6659eef3088e44ea1e1191b3ee
Author: Chuck Lever <cel@netapp.com>
Date:   Thu Oct 6 11:12:06 2005 +0100

    Add a stack method to delete a patch series
    
    In preparation to introducing the ability to delete a branch, add a stack
    method that will iterate over a patch series and delete each patch.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit b21bc8d14764a9bddf7bfe5ca82ca4cd7fb40924
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Oct 6 11:07:08 2005 +0100

    Allow the short version of --base (i.e. -b) in import
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit be3e6bd9308ad0b1cae54bd8ff9502bcf7713129
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Oct 6 10:57:17 2005 +0100

    Use git_id in import and fold instead of git.rev_parse
    
    git_id() is more flexible since it knows about StGIT patches.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ba1a4550a02d89ed021d7c9e909fdba8e097888d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Oct 6 10:52:52 2005 +0100

    Fix the caching of the HEAD value
    
    'git pull' also updates the HEAD but StGIT did not flush the cached value
    causing problems with pulling.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 7c47d096c74a2654fc9d67490adbe3066d24df98
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Oct 5 16:58:18 2005 +0100

    Add a --reset option to resolved
    
    With this option one can ask for a conflicted file to be reset to one of
    the local, remote or older states.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 84fcbc3b78f3a0156025d4eb6f6b76df7a5df233
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Oct 5 16:58:18 2005 +0100

    Allow git.apply_patch() to take a base revision
    
    This option is useful for import --base and fold commands. Both these
    commands were modified to take advantage of it. The fold commands also
    supports a --base option, similar to the import one.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ba524d4cae140a8a4b4dc573941677841aa8db64
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Oct 5 16:58:18 2005 +0100

    Add a --fold option to pick
    
    This option causes the given commit object to be merged into the current
    patch instead of creating a new one.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 367de8399d8348c03b2ff49b3b2d86ba022b785c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Oct 5 16:58:10 2005 +0100

    TODO updated with the need for a 'prune' command
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3c3e0344d3b9f2626a31105f9f794142ed4a8dfa
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Oct 5 09:32:08 2005 +0100

    'status --reset' should remove the conflicts as well
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 94227db3c3ae40343c1cbc41b5617389eb7d7c40
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Oct 4 20:56:18 2005 +0100

    Add the --reset option to status
    
    This option resets all the changes in the current tree (relative to HEAD).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0ef6699add983199b5e94e9a7d4d95edaff1064b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Oct 4 20:56:18 2005 +0100

    Add an uninstallable script for profiling
    
    The script name is stg-prof and can be used instead stg for printing
    profiling information.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3237b6e42db7459d4055747d58ba8afc49371d27
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Oct 4 20:56:18 2005 +0100

    Make __commits global in git.py
    
    Some weird errors with Python scoping for the __head global variable
    required the use of global. Add it for this variable as well.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit aa01a285716ffb29a62cd7d2ef5663fa2b73f568
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Oct 4 20:56:18 2005 +0100

    Cache the HEAD value
    
    There are many calls to git.get_head(). This value should be cached to
    speed things up.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3097799dcde97cc3e1e3d6c87138f300df0ec2b6
Author: Chuck Lever <cel@netapp.com>
Date:   Mon Oct 3 13:03:31 2005 -0400

    Use "git-rev-parse" to get the HEAD commit
    
    Traditionally, HEAD was just a link to a refs file.  Recently, however,
    support for HEADs of the form "ref: " was added to git.  In addition,
    it's safer to verify the HEAD commit id before using it.
    
    Change git.py to use "git-rev-parse" to derive the HEAD commit instead of
    reading the HEAD link directly.  If there are any problems with the HEAD
    commit id, git.get_head() now raises an exception.
    
    And, use "git-update-ref" to update the HEAD for similar reasons.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit bca12bd1634520a9d1b81daa6a48e0b09a0df879
Author: Chuck Lever <cel@netapp.com>
Date:   Tue Oct 4 20:56:05 2005 +0100

    Use a more clear message when pop or push can't apply a patch
    
    Minor nit: the error message when "stg pop" or "stg push" can't apply a
    patch is vague.  Add a little extra logic to print a more precise error
    message in these cases.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 9cd0fc96c52e3ffd6054b030b14dd100001089a0
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Oct 3 18:33:49 2005 +0100

    Escape the unusual characters in the name <email> strings
    
    Otherwise there are problems when passing the environment to git-commit.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 575a7e7cb31c21fcf13aa7622200496161286d10
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Oct 3 15:35:40 2005 +0100

    Optimise 'push' to use git-apply instead of git-read-tree
    
    With this patch, 'push' will use 'git-diff-tree | git-apply' first. If this
    operation fails, it will fall back to the three-way merge with
    git-read-tree.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2156a798d158000cc6826af48370b73834fafe54
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Oct 2 08:45:53 2005 +0100

    Release 0.7
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ea8e7385eaf9f0b7b7bc2d0fd08f1f391a7ac1cb
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Oct 2 08:33:36 2005 +0100

    Update the TODO file
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6a093bbbfc2b933a78253ea23287a411631565c5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Sep 27 21:27:33 2005 +0100

    Add a commit command to merge the current patches into base
    
    By default, the base is only advanced by 'stg pull'. A commit command would
    allow the currently applied patches to be merged into the base and removed
    from the current series. This commands adds a bit of SCM flavour to StGIT.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 0618ea9c955bc7015ec5a7cccac66760738c9644
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Sep 27 17:29:48 2005 +0100

    Implement a 'pick' command for cherry-picking
    
    The initial cherry-picking implementation in import was quite hard to find
    and the import command became pretty hard to use.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b8a0986f754570589675e7003d06b78bdd290a02
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 16 14:05:06 2005 +0100

    Cancel the commit cherry-picking in import
    
    This feature will be added to a separate command, 'pick'.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a2dcde7196ecd4e2c6d8bfff825d9b00a366c323
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Sep 27 16:11:00 2005 +0100

    Add support for branch in the patch id
    
    By default, only patch/top and patch/bottom on the current branch are
    supported. This patch adds the patch@branch/... support.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d1eb3f85c890ab979bb95febf1060f351b39daf3
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Sep 27 14:59:52 2005 +0100

    Add support for git-rev-parse
    
    The git_id() function now calls git.rev_parse() if it cannot get the id.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d4c43e19eca9026da737ea26f39d924389239e4a
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Sat Sep 24 12:46:23 2005 +0200

    Fix earlier "import quilt patches" patch
    
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    
    I forgot to update all cases - I updated __parse_mail, not __parse_patch, so
    refactor together this duplication and use the fixed version.
    
    Btw, I don't like those regexps - they'd match in the middle of line too. What
    about adding ^ to their beginning like for the "^Index: " regexp?
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 27373fe0e6a512591206d0de866157cb5865c04e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Sep 25 09:16:17 2005 +0100

    Minor typos in the tutorial
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d1c8fcd7a3a252d2255ac9dbaa257f28c9b0228f
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 23 14:15:38 2005 +0100

    Add the tutorial back to the repository
    
    This is to avoid problems when the site is down. At the moment, the
    tutorial on the wiki was only converted to plain text and added. It might
    be out of date for some commands or options.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6fe6b1bd5137323248b696989c41ebb7b98514cc
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Sep 22 17:43:36 2005 +0100

    Fix importing from stdin
    
    The current stdin patch importing expects two EOFs since the 'for' loop
    doesn't start before one EOF is received. As suggested, this patch changes
    the 'for' loop with a 'while True' loop.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit acad60579782ce281c4943bd2e5a2646310e5a97
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Sep 21 14:01:45 2005 -0400

    Cut verbosity of new fast-forward merging
    
    Now "stg push" will report only that is "Fast-forwarding" or "Pushing"
    a patch.  The messages about trying to fast-forward and failing are
    gone.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 40e65b928d0429090a39843c1a81dec31f4d38e2
Author: Chuck Lever <cel@netapp.com>
Date:   Wed Sep 21 14:01:43 2005 -0400

    "stg series" on an un-inited branch gives weird error
    
    If I try an "stg series" command on a repository that hasn't yet been
    initialized, I get a non-intuitive error message:
    
    stg series: [Errno 2] No such file or directory:
    '/home/cel/src/git/main/.git/patches/master/applied'
    
    This patch replaces the message with a reasonable explanation.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 7c09df84663028d46af9d79d0cbb37532f94deb8
Author: Junio C Hamano <junkio@cox.net>
Date:   Fri Sep 9 02:24:05 2005 -0700

    Adjust stgit for post 0.99.7 renames.
    
    Not to be used with version of git 0.99.6 and earlier.
    Using the new names with current "master" branch is OK.
    The old names will be removed in 0.99.8.

commit 2f206b8f3d65d506f58ee9a519b4d39aca6d31d1
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Sun Sep 18 18:47:12 2005 +0200

    Fix series mismerge
    
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    
    Mismerge with my addition of -e. Sorry for not pulling that time.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 3c6fbd2cb3fd1d2a18585d3c13cd4517021b2f36
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Sun Sep 18 20:15:51 2005 +0200

    Fix syntax error in stg status
    
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    
    Uff, it's becoming annoying - why things break so often? However, more to the
    point: turn a string into a list to allow appending it to another list.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit ed5de0cc03a4feb3aaa7e5e4325fe4ca51c248ef
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Sep 18 09:12:35 2005 +0100

    Fix the version_str assignment in mail.py
    
    The variable is used before it is initialised.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e83b314952d7acfd55fa5bb1adb9623acb908566
Author: Pierre Ossman <drzeus-list@drzeus.cx>
Date:   Sun Sep 18 09:07:34 2005 +0100

    Better mail handling in stgit
    
    Fix some issues with the mail function in StGIT:
    
     * Allow multiple To/Cc/Bcc command line options.
    
     * Better parsing of mail addresses.
    
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

commit 35344f865c199e8457d951bc51b45d21f813cbc2
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Sep 18 09:02:37 2005 +0100

    Specify a different base for the imported patch
    
    This option will import a patch on a different base and perform a three-way
    merge with the current HEAD.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b70e43eb58252ac85081a146ec2ee43861d7af60
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Sep 17 09:12:26 2005 +0100

    Check whether the patch name is applied or unapplied
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b2a0aaa81c83365c68a0e709b8f884ba320e79f2
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 16 21:35:25 2005 +0200

    Detect description in quilt patches
    
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    
    The current logic imports the whole quilt patch as description - the changes
    themselves are correctly applied, luckily, but the description must be fixed up
    by hand.
    So, detect "Index: " lines as patch start. I've heard rumors that also
    Subversion generates this format, so we become compatible with it, too.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit e190e1a6c056b96971229940ff0bb2aef3350c0c
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 16 21:35:23 2005 +0200

    Fix "stg mail" address parsing for hyphen
    
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    
    Tried sending an email cc'ing LKML - watched my postfix queue - and saw
    kernel@vger.kernel.org as delivery address! What had happened? StGIT didn't like
    "linux-kernel" ! Fix the regexp.
    
    I just added an hyphen to both sections (yes, there are plenty of domain names
    including hyphens, and I tested the problem there too). Don't know if other
    chars are missing.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit ddab48a5c0da11082de6fd3a530ee491f04aa19c
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 16 21:35:22 2005 +0200

    Allow mailing a given patch list
    
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    
    I tried to mail a cherry-picked subset of my series and that didn't work - using
    stg export and quilt was even worse, so I had to code something.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit c23e93ff42f19ab5b2ff5701bbccbedb15882941
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 16 21:35:21 2005 +0200

    Fix "stg clean" when stack is empty
    
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    
    It crashes on accessing 1st element of an empty array.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit d3cf7d862f3ef6e3d6994714163a847e2ecba8e5
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 16 21:35:20 2005 +0200

    Implement fast-forward when only tree (but not
    
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    
    When the "bottom" commit and the HEAD don't match, but they refer to the
    same tree (for instance after a refresh where only the description
    changed), we can still fast-forward, by keeping the same top tree and
    calling git-commit-tree (which only requires the tree object) with the new
    parent. I've altered git.commit to allow this.
    
    Btw, I've also avoided the use of .commitmsg and switched to piping the
    description.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit a5bbc44d012e4d50fc35b428ed342997454c8c8f
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 16 21:35:19 2005 +0200

    Avoid allowing --undo if it doesn't change anything
    
    From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    
    Avoid top/bottom backup files identical to current ones. Simply remove
    them.
    
    Also, change restore_old_boundaries() to handle gracefully the new
    situation rather than print an exception.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit faed67707d8377ddb68fa8ba199d85ed90d1f27c
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 16 21:35:17 2005 +0200

    Make "stg files" output match "quilt files" one
    
    I'm used to doing vi $(quilt files), which is impossible with stgit.
    Add an option (-b/--base) to request the normal behaviour, but make it
    non-default as the current output is useful.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 24aadb3f7d7347d22c5b7afdd0b8989cccb11a9b
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 16 21:35:16 2005 +0200

    Fix "mail" command when description contains "From"
    
    For kernel patches, the "From" line from the email is often preserved in
    the patch itself, and the one from the email is sometimes lost, so I add an
    explicit one. And mail barfes on this.
    Fix it up.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 537ddf3fcbb207659094a19acd83ac7b83d4deb1
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 16 21:35:15 2005 +0200

    stg diff / files: don't update directory cache
    
    Do git-update-cache only when diffing with the working tree, not otherwise.
    Spending something like 1min for a stg files is bad - yes, my laptop
    was really busy and the Linux tree was probably cache-cold, but that's just
    not needed.
    
    Also, in diffstat we currently do it both by hand and by calling git.diff.
    And in files there's no need at all for that - even the comments says that
    "files" has only to do with committed changes.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 9f00453e337990a34a432a08340799fe628bd4d2
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 16 21:35:13 2005 +0200

    Make "empty patch" checking optional in "series"
    
    That's just too slow, and quilt doesn't do it, so user will live with it.
    Don't know if there's a reason to allow dropping the fanciness here
    entirely, but I think there's no user doing one-liner scripts with quilt
    series. And anyway, for that you can do "stg applied; stg unapplied".
    
    Actually, with this patch you must ask explicitly the checking.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 7c02f338c0e6386b322b520c0805a095a0fa2aa1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Sep 17 08:53:58 2005 +0100

    Ignore the case on the PATCH name when importing
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit dad310d0bc0adf95090ba3a92185d4af7361d974
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 16 21:35:11 2005 +0200

    Fix typo: comitter->committer
    
    Found casually in commit.__init__, while profiling stg series.
    And yes, I went checking that git has no typo.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 37a4d1bfabaca3dd947799f10c6cfc369a9edb5e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Sep 16 14:05:06 2005 +0100

    Allow 'import' to cherry-pick a commit object
    
    A commit object in the tree can be cherry-picked and imported into a
    separate StGIT patch. It also allow reverse-importing, i.e. cancelling an
    existing commit.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 101239d59905d3a747ec0da1d09127ff953fe42d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 14 15:38:02 2005 +0100

    Pass -q to git-merge-cache
    
    The error reporting is handled by gitmergeonefile.py
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 629ddd028508be1f40dcd0f4509decb8de2a337c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 14 13:51:07 2005 +0100

    'export' will use patches-<branch> by default
    
    Previously, it was exporting to the patches directory by default but this
    may cause problems if multiple branches are used.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1f5e914825645f085d8409023fe0f26e6de7d1ea
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 14 13:31:23 2005 +0100

    Update 'stg pull' to the latest 'git pull' API
    
    The --head and --tag options are no longer available.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5cccc82b18ba82f5bd14d73c0b0d2398897dfd59
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Sep 13 17:11:25 2005 +0100

    Add --prefix example to INSTALL
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2f7c8b0ba410854dc7dd0c2282323cc04dfcce8e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Sep 13 17:11:18 2005 +0100

    Add a --branch option to different commands
    
    This command will show the information on a different branch than the
    current one.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d0d139a330a0e2f49b9acad4ea1938304b4110ac
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Sep 13 10:44:58 2005 +0100

    Add a --version=... option to the mail command
    
    This option adds a version string in the [PATCH version nr/total] form for
    the e-mailed patches.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit be24d874c515e1515d4a0d91422460b72e451576
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Sep 13 10:28:38 2005 +0100

    Use .git/info/exclude instead of .git/exclude
    
    The stg status command should follow the latest GIT API.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 22ea91023037f7f7f4256b2dbc79d8fb6830e5fc
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Sep 7 10:45:13 2005 +0100

    Add a copyright command to display the copyright terms
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1e0bdf2afb56fd15cfdc34017ba20398a8d2c584
Author: Chuck Lever <cel@netapp.com>
Date:   Tue Sep 6 12:12:29 2005 -0400

    Add a "version" command
    
    Flesh out existing version command and expose it.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit cd076ff629ab7963f3497f7022ebb2b9a99a52ef
Author: Chuck Lever <cel@netapp.com>
Date:   Tue Sep 6 12:12:27 2005 -0400

    Set stg's text editor in .stgitrc
    
    Allow specifying stg's text editor in .stgitrc.  Some legacy tools need
    an old version of "vi" in EDITOR, but we can be flexible.
    
    Signed-off-by: Chuck Lever <cel@netapp.com>

commit 680e3a32c2dbda533837893336d3b7d7f3c439a6
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 2 11:25:24 2005 +0200

    [PATCH] Allow fast-forward pushing.
    
    Pushing patches is too slow. It's a lot slower than quilt, and possibly
    even slower than patch-scripts.
    
    Especially, we never fast-forward patches even when we can, because when we
    reorder patches that's not always safe.
    
    It is safe to fast-forward a patch sequence if the first patch in the
    sequence "chains" correctly with the current HEAD and each patch chains
    with the previous one. With chaining I mean "HEAD commit id matches the
    bottom id of the patch".
    
    In this patch I fast-forward the longest possible sequence starting from
    the first patch.
    
    Since a single commit stores via parent links the entire history, after a
    patch doesn't chain there's almost no need to try to chain other patches.
    
    Actually it could maybe happen (but I'm not trying to exploit that case):
    create a patch stack, pop it, apply a couple of subsequent patches out of
    order (so it's reparented), pop it, and repush the stack in the old order.
    
    The chained sequence will stop at the changed patch, but (should we reuse
    the old commit id when repushing, and we can, provided we delete the .old
    file when refreshing) we'd reapply again the same commits.
    
    TODO: do fast-forward even when just the tree objects chain, but the
    commits don't (for instance, after changing a patch description, we can't
    fast-forward with this patch). We can do that with git-commit-tree, which
    creates a new commit based on a given tree, parent, description, without
    necessarily checking it out.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 011cbd1b417a29bbcb189f86833bac773ba4a6f7
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 2 11:25:27 2005 +0200

    [PATCH] Fix crash for empty description
    
    We access the last character of the description, which may be empty. Use
    slicing to avoid this crash.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 4d4c0e3a5cf0930619317b473259177bc5b79f41
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 2 11:25:17 2005 +0200

    [PATCH] Support .gitignore
    
    Add support in stgit for .git/exclude like cogito does. Additionally, add
    -x option to avoid excluding any file from listing, as in cogito.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 95742cfc06832ec30191567c5b83247a28f6ec64
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 2 11:25:30 2005 +0200

    [PATCH] Really fix import --edit invoking editor twice
    
    A typo prevented the previous patch for this (commit
    9d15ccd85e36ef5cd554aaf98f1c37ef0433697f) from working (edit is never used,
    you should have set options.edit). Ah, nice Python! No var declarations and
    these are the effects (yes, I reproduced this).
    
    However, if the description is left empty, refresh_patch will again invoke
    the editor. Also, with --showpatch, the first invocation shows the topmost
    patch, not the one to be imported.
    
    So better stop new_patch from invoking the editor, and call it only on
    refresh.
    
    Btw, clean the old unused "edit" parameter of Series.new_patch.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 6ad48e4898f40d58a236de38f0f49a9f8bfb7ab2
Author: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Date:   Fri Sep 2 11:25:20 2005 +0200

    [PATCH] Show patch content in description edit buffer
    
    Add an option (-s/--showpatch) to show the patch content when editing the
    patch description, by appending it to the edit buffer, for more accurate
    patch comment editing and to check its correctness before committing it.
    
    It's how one works with quilt, and it's very important when the patch is
    non-trivial to re-read it.
    
    It's done for import, new and refresh, I left fold out.
    
    Additionally, set the buffer filetype to "diff" for correct highlighting in
    Vi.
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

commit 05d593c088d335e86573a2d4bc63ff308bde759b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Aug 24 14:52:43 2005 +0100

    Fix push --undo to remove the local changes
    
    Without this patch, the command would fail if there are local changes
    because of git-read-tree -m -u.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 9d15ccd85e36ef5cd554aaf98f1c37ef0433697f
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Aug 23 17:19:22 2005 +0100

    Fix the import --edit function
    
    If the patch doesn't have any description, the editor is invoked twice,
    once by new_patch and the 2nd time by refresh_patch. This patch fixes
    this issue.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 402ad990d3fd6a92575e9ff6ad9f6109093d894c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Aug 23 16:44:14 2005 +0100

    Optimise the merge operation
    
    The merge operation performs unnecessary git-checkout-cache which was
    already done by git-read-tree or gitmergeonefile.py. The refresh
    resulted from a push operation should not check for the tree status
    since the index is already up-to-date a successful merge. For an failed
    merge, the commit is not performed anyway.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a5b29a1c486dc8f6b3080356296dfed25c210a74
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Aug 23 13:41:41 2005 +0100

    Optimise the git.switch() function
    
    By default it checks the tree status and checks out the given tree id.
    This can be done with 'git-read-tree -m old new'.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit a322940ba66cfb047676ad41a9ca1636d08c6d41
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Aug 23 10:07:22 2005 +0100

    Fix the push_patch function to not always call refresh_patch
    
    The refresh_patch() function should only be called when there was a
    merge operation, otherwise push_patch() should only checkout the new
    head.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 592c8fc3320e45cee37adfa239eae857e4326661
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Aug 21 08:55:25 2005 +0100

    Release 0.6
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 4df2f86697b9477fd976c95b21de60d6c67f9696
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Aug 21 08:54:08 2005 +0100

    Version information changed to show 'Stacked GIT'
    
    Previously, it was displaying 'stg'.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 9c96f9f2be6f42757e6c8c596c63f7433ad7e964
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Aug 21 08:48:13 2005 +0100

    Move the local search path at the beginning of sys.path
    
    This patch allows StGIT to search for the package files in the local
    directories first, in order to avoid problems with multiple installations.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8e48600539fc6bef9dc08c9df2f42133879c883e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Aug 21 08:00:34 2005 +0100

    README text moved to the wiki page
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e1261152d817111550e26c026d2793d8621b51ad
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Aug 18 14:35:19 2005 +0100

    Add the 'id' command
    
    This command prints the hash value of a GIT id (defaulting to HEAD). In
    addition to the standard GIT id's like heads and tags, this command also
    accepts 'base' and '[<patch>]/(bottom | top)'.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 516a282ae0303265e53e97ba002ff9ea0f756ac4
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Aug 18 13:50:37 2005 +0100

    Add the prefix information to INSTALL
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8e29bcd2fd67066143b88de8829130c6af043e2f
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Aug 18 13:46:20 2005 +0100

    Optimise the Commit objects creation
    
    The Commit objects are used for commands like 'series' to check whether
    a patch is empty or not. Since the bottom of a patch is usually the same
    as the top of the previous one, it makes sense to cache the Commit
    objects and reduce their creation (and git-cat-file calls) to half. This
    patch adds a Commit objects factory which caches the results.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e4f41f5d393b5f1e83a39a42a5f204efb6ef7ea6
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Aug 18 13:01:55 2005 +0100

    Update the README (mainly alignment)
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1ac02448539c5c8b11e552a8a383afe389427fbc
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Aug 16 17:06:55 2005 +0100

    README file update
    
    This file is quite out of date and needs to be updated.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d4b8d284572ba7b17d205ec3508277db96d4e1fe
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Aug 16 14:47:50 2005 +0100

    Fix a typo in the fold command help
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 7ab9ac47ffab2ff8178fae5212c54c457177bbb3
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Aug 16 14:47:33 2005 +0100

    Fix gitmergeonefile.py to deal with local installation
    
    After a previous change, this file didn't know where to find the stgit
    package if it wasn't installed with the default prefix.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 33e580e01e22fd8cf0f5ec542ab607f85d052286
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Aug 15 17:42:12 2005 +0100

    Add --edit option to import
    
    This option allows a patch description to be editted before being
    checked in.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ddbbfd845a3813658370c26a7d7ea91ac6f57fae
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Aug 15 17:16:23 2005 +0100

    Make 'stg pull' use 'git pull' directly
    
    In the initial version, 'git fetch' was used but its interface might
    change in the future.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 47e93ba96f6ca55cb4bf3701d4d5d190f25c0c49
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Aug 15 17:16:17 2005 +0100

    Allow StGIT to be installed in a local directory
    
    StGIT should no longer rely on being installed under /usr. This has
    implications in the default python search path, the /etc/stgitrc file
    and the /usr/share/stgit/templates directory.
    
    By default, the 'python setup.py install' command will now install StGIT
    in the home directory of the current user.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5185abc17c92cf16f985a5768654126af226c228
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Aug 8 18:08:01 2005 +0100

    Fix the 'import --name' option overriding
    
    When the patch was read from a file, the --name option to import didn't
    override the default name. This patch fixes it.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c14444b97c474c156299a5d5f3fe161af2290884
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Aug 8 17:36:23 2005 +0100

    Implement the fold command
    
    At the moment, it only applies a patch read from a file or the standard
    input on top of the current patch or on its bottom and three-way merged
    with it (useful for upgrading external patches).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 6872f46bd3b91d26141711ebfc3b347dc58bf447
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Aug 3 16:38:11 2005 +0100

    Create the .git/refs/bases/<head> file in 'init'
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b8d258e59a1e769d296526296bccb12c07d06f72
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Aug 3 13:40:48 2005 +0100

    Add the 'number' variable to the e-mail template
    
    This variable expands to an empty string if there is only one patch
    to be sent or to ' patchnr/totalnr' otherwise.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 1008fbce6fb0e9cfa0844303be14744d95f31c37
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Aug 3 13:16:17 2005 +0100

    Implement the 'clone' command
    
    This command is based on the existing git-clone-script.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3899a8e26a7d38acdbc6c19c50522e6a0dff99c8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Aug 3 12:20:43 2005 +0100

    'pull' should use the origin branch
    
    By default it uses the branch with the same name as the head pointed to
    by the HEAD link. The command also accepts a different location.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 70893e135626f70b60f73380f0190d0f8f0e1089
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Aug 3 12:20:42 2005 +0100

    Fix description/diff delimiting in import
    
    Only '---' should be a valid form of delimiting (or 'diff -') but not
    more than three '-'.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 5b0f1eaa09175829268a684eb4ba64a53db8f762
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Aug 3 12:20:42 2005 +0100

    Save .git/ORIG_HEAD when pulling changes
    
    ORIG_HEAD is the base of the stack before merging the latest remote
    changes.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 51d6eea0523d377f626a5eed1059f0a7e5534c49
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Jul 30 22:02:31 2005 +0100

    Release 0.5
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e965ad37d470e9c427586f308f0af9085b140fdb
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sat Jul 30 22:00:47 2005 +0100

    TODO update
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit dae0f0beb711276605b2a3d00791d635a7e2a70d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jul 29 16:30:24 2005 +0100

    Add '%(maintainer)s' variable to the e-mail template
    
    Following some discussions on the git list, it looks like the
    committer's e-mail address doesn't have to be a valid one. The
    above variable is generated from the author details defined in
    the stgitrc file and is placed on the From: line in the default
    e-mail template.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 186e6b6b9bb8dcc916ea7236d5531b3fc349362d
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jul 28 17:30:10 2005 +0100

    Allow ':' in the subject of imported messages
    
    Initially, the 'import' command used to remove the 'word:' expression
    from the subject line of an e-mail. This might actually be useful
    for a big system with sub-systems.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 2bb969024baa9435ae25183c524c5a3b1f789681
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jul 28 17:30:08 2005 +0100

    'mail' to use the global template file
    
    If there is no .git/patchmail.tmpl file, use the default one in
    /usr/share/stgit/templates
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 23a88c7d79f3cec8ff330304894c249090278052
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jul 28 16:57:09 2005 +0100

    'export' to use the global template file
    
    If there is no .git/patchexport.tmpl file, use the default one in
    /usr/share/stgit/templates
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8754986f0087dd6aa95c4816a509bde12044943b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jul 28 16:13:56 2005 +0100

    Install the template files as well
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c4a1503ac1528832b286cf9c1a2a97409b07eb54
Author: Peter Osterlund <petero2@telia.com>
Date:   Thu Jul 28 13:55:46 2005 +0200

    Handle 'A' flag for new files
    
    Patches that add new files don't work correctly if git reports them
    with the 'A' flag. StGIT claims there are unresolved conflicts. This
    patch fixes it.
    
    Signed-off-by: Peter Osterlund <petero2@telia.com>

commit 0d2cd1e4238e397072360bad902c8a0cff4efcb0
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jul 27 22:17:25 2005 +0100

    Implement an 'import' command
    
    This patch implements the 'import' command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit ef571976ec966d675b18c6c076e6d090b543e6e7
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jul 27 11:04:32 2005 +0100

    Allow the GIT ids to be more flexible
    
    The current implementation does not allow hash values or other *HEAD
    names to be passed to the 'diff' command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f3dd7770635d916a0b4d87575b8718b34ed4d00a
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jul 26 13:54:56 2005 +0100

    Fix the patch name checking in push.py
    
    For an unknown patch name, the assert in stack.py fails. Fix the calling
    function to check the pre-conditions.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit e55b53e007f02331a27e16bcac18165952a202d5
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jul 26 13:54:56 2005 +0100

    Add a patch renaming command
    
    This command changes the name of a patch
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 7371951ab97eb5e5c97e720f9af3803fdd86bf6c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jul 26 13:54:56 2005 +0100

    [AN] status for newly added files
    
    This patch enables displaying of the newly added files prefixed with
    either A or N.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 26aab5b04fa4ba13f48948de73e497cf0a315ad1
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jul 24 11:44:10 2005 +0100

    Improve the help message for commands
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit eb026d9396af187c6a92370595e85c4e94c4db0c
Author: Bryan larsen <bryanlarsen@yahoo.com>
Date:   Thu Jul 21 22:12:10 2005 +0100

    Add authentication capability to the mail command
    
    Add authentication capability to the mail command.  Added 'smtppassword'
    and 'smtpuser' to config file and --smtp-user, --smtp-password to command
    line.
    
    Signed-off-by: Bryan Larsen <bryan.larsen@gmail.com>

commit 8c15e0e4c96f0ecdb40eaeeb05e9adec8021e973
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jul 20 13:18:28 2005 +0100

    Update the TODO file
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 9a316368552632a33a9e2c904ab2da0e257c548e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jul 20 12:59:10 2005 +0100

    Make the 'mail' command a bit safer
    
    A simple 'mail' command automatically sends all the applied patches.
    This patch changes so that the user needs to explicitely add the
    '--all' or '--range' options.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit f338c3c088774601c6cd422bfac635c4187266c4
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jul 20 11:46:43 2005 +0100

    Add a 'pull' command
    
    The current implementation just uses git-fetch-script
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit b4bddc068e5440e8b747329df4db841a14483d85
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jul 19 17:30:45 2005 +0100

    Implement the 'mail' command
    
    This command is used to send a series of patches via SMTP. The
    .git/patchmail.tmpl file is used as the default template. A first message
    template can be used with the --first option. Example templates are in
    the examples/ directory.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8f4d71da1803d581f3329628a18ac1bc46b38068
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jul 19 13:08:24 2005 +0100

    Fix the exception class name in export.py
    
    MainException replaced with CmdException
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit acf038aef0f011490906473c0d84876fb0f94551
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jul 15 15:31:17 2005 +0100

    Add --force option to new
    
    This option creates a new patch even if there are local changes in the
    tree. It is useful if one starts modifying the tree but forgot to create
    a patch for it.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit de4c9d27c59100d6c2c3e04720f0c9651e58a87c
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Fri Jul 15 13:10:10 2005 +0100

    Implement 'clean' cmd
    
    This command deletes all the empty patches from the series.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 9ac099092c5760f69d7a2c79336bacd91e2f3540
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jul 14 17:21:44 2005 +0100

    crt_series initialisation changed
    
    The current model does not allow running any command outside a GIT tree.
    Even 'help' fails. The simple hack is to use setattr to initialise
    crt_series in a module. The other option would be to initialise it in
    every command file but I'm too lazy to do it.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 26dba451199714e0185dd4a348a3663e8399e502
Author: Bryan Larsen <bryan.larsen@gmail.com>
Date:   Thu Jul 14 11:09:37 2005 +0100

    allow spaces in filenames (second try)
    
    The current version of stgit does not allow whitespace in filenames.
    This patch fixes that.  It also speeds up operations on large filesets
    considerably.
    
    Signed-off-by: Bryan Larsen <bryan.larsen@gmail.com>

commit b054c8bd5293f4b905460321a5c0e620b2232296
Author: Bryan Larsen <bryan.larsen@gmail.com>
Date:   Thu Jul 14 10:48:51 2005 +0100

    The top patch is never exported.
    
    Signed-off-by: Bryan Larsen <bryan.larsen@gmail.com>

commit 19cd0a8fe0cb7cfd0d5f784024014419ec354adf
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Thu Jul 14 10:48:36 2005 +0100

    Add "name <email>" parsing for simpler commands
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 4de718c3e7654165bb4819003a267f2105ce8b1e
Author: Bryan Larsen <bryan.larsen@gmail.com>
Date:   Wed Jul 13 22:36:26 2005 +0100

    Using the --message option with the new command fails.  Fix it.
    
    Signed-off-by: Bryan Larsen <bryan.larsen@gmail.com>

commit 4ff4fd41a4bae03130a80edde65d9a3f7d3efaf8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Wed Jul 13 17:10:17 2005 +0100

    Track git/stack exceptions when initialising crt_series
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 957526bf2b69e8d475a74f139ef30084e944b59e
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jul 12 23:05:20 2005 +0100

    Install the stgit.commands package
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit fcee87cf868f18a3d684c3ba71232574f92c7b11
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jul 12 23:02:06 2005 +0100

    Separate the commands in stgit/commands/* files
    
    The main.py file is getting bigger and bigger and it will soon become
    unmaintenable. This patch creates separate files for each command.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 91bb107717858a45fdef292eb89c7548220c0f42
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jul 12 22:23:41 2005 +0100

    ChangeLog removed
    
    It will be automatically generated for every snapshot. Otherwise, the
    history is in GIT.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 3961dac1e645b7414e9bc3bc4088e2e7d0c5cbe8
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Tue Jul 12 18:36:06 2005 +0100

    Add --range option to export
    
    Useful when you only need to export a range of the applied patches.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit cfafb9451a0a0704af4eea997ec91df83bf9e720
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jul 11 18:47:48 2005 +0100

    Update the git cache for the resolved file
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 8c737ba4564389ca40f2309e299f37ed1fb79249
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jul 11 18:47:01 2005 +0100

    Fix __checkout_files() in gitmergeonefile.py
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit d08865a64841c43ce6730baf7078500233976d32
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jul 11 18:45:40 2005 +0100

    Allow local changes if the patch deleted is not current
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit c920531e512b1776d3698fd05755f8791b3be831
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Mon Jul 11 18:44:40 2005 +0100

    Add --template option to export
    
    Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>

commit 873a27fd61d114292aa597914eb03948375f1a7b
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jul 10 11:32:34 2005 +0100

    Add stgit. before utils in import

commit 41a6d8591d5962dbfe8e372fff10c60e06718083
Author: Catalin Marinas <catalin.marinas@gmail.com>
Date:   Sun Jul 10 08:29:31 2005 +0100

    Initial commit (Release 0.4)

