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: dee200d76c847828f4c637ddb27cb67d39b94d7a 3bd6274e247baa8c9f652fcdfd74180b0933773c
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: e40cf5ed24032a4a3e847e7c6a8b08f576109d1d 98290387570c0494bd5303e2f7e9136c43745bcc
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: b92a21169f252bed46bc1833dee42531dfe913d6 1780280ce740fd36b032ef6fc42feb34d1dd272b
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: 05c9e6653351bb3c2c2ae822ace38f190288d70d 1f5b9c9a8202a1fd62cc0c88d17de681c1e85a62
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)

