Catalin Marinas [Fri, 8 Jun 2007 22:18:04 +0000 (23:18 +0100)]
Factor out common functionality into the utils.py file
Sequences for writing or reading lists to/from files are moved to the
stgit.utils file.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Catalin Marinas [Fri, 8 Jun 2007 22:13:34 +0000 (23:13 +0100)]
Fix the hidden patches functionality (bug #9077)
This patch fixes the misleading functionality of hiding/unhiding
patches. Only unapplied patches can be hidden and they are now on a
separate list. Commands like 'stg push --all' will not push hidden
patches.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Catalin Marinas [Thu, 7 Jun 2007 22:13:57 +0000 (23:13 +0100)]
Fix bug #9284 - error messages include abbreviated command
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Yann Dirson [Wed, 6 Jun 2007 22:01:52 +0000 (00:01 +0200)]
Fixed typo in contrib/stg-whatchanged.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Wed, 6 Jun 2007 22:01:47 +0000 (00:01 +0200)]
Catch early trying rebasing to unknown ref, and add testcase.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Wed, 6 Jun 2007 22:01:42 +0000 (00:01 +0200)]
Robustify rebase test: check patches are reapplied.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Wed, 6 Jun 2007 21:05:22 +0000 (23:05 +0200)]
Fix removal of series to nuke the formatversion config item.
Since this parameter is now used to decide if the branch has already
been initialised, not removing it forbids to create a stack with the
same name as one that was deleted.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Wed, 6 Jun 2007 21:05:17 +0000 (23:05 +0200)]
Fix removal of series with non-existant trash dir.
Otherwise it is not possible to delete a stack that never had a patch
deleted (eg. a newborn stack).
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Mon, 4 Jun 2007 21:14:43 +0000 (23:14 +0200)]
Fix deletion and move of a hidden patch (gna bug #9244).
We must unhide a patch before we delete it, or we get an exception
while trying to unhide a non-existent patch.
Similarly, when renaming a hidden patch, we must take care of hiding
an unhiding at the right moment.
Both problems introduced in commit
841c7b2a6b015e3ab3331713cf10caf7a4fd0b49 when first indroducing patch
hiding.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Thu, 31 May 2007 22:34:38 +0000 (00:34 +0200)]
Add new --diff-opts/-O flag to diff- and status-related commands.
This new flag allows to pass arbitrary flags to the git-diff calls
underlying several StGIT commands. It can be used to pass flags
affecting both diff- and status-generating commands (eg. -M or -C), or
flags only affecting diff-generating ones (eg. --color, --binary).
It supercedes --binary for commands where it was allowed,
'-O --binary' is now available for the same functionality.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Thu, 31 May 2007 22:34:33 +0000 (00:34 +0200)]
Make diff flags handling more modular.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Thu, 31 May 2007 22:34:28 +0000 (00:34 +0200)]
Call external commands without a shell where possible.
On my dev box it consistently improves performance when timing the
full testsuite:
before:
user 2m22.509s
sys 0m50.695s
user 2m23.565s
sys 0m49.399s
user 2m23.497s
sys 0m49.675s
after:
user 2m20.261s
sys 0m45.687s
user 2m21.485s
sys 0m46.427s
user 2m20.581s
sys 0m45.367s
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Thu, 31 May 2007 22:34:23 +0000 (00:34 +0200)]
Add 2 new contrib scripts.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Catalin Marinas [Tue, 22 May 2007 20:45:53 +0000 (21:45 +0100)]
Fix the automatic patch name generation for the pick command
It was broken by a recent commit to unify the patch name generation.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Petr Baudis [Tue, 22 May 2007 20:45:53 +0000 (21:45 +0100)]
StGIT: Support Cc: fields in stg mail --auto
Aside of Signed-off-by and Acked-by fields, Cc fields may occur in the
message footer; include them in the auto-composed mail Cc list.
Signed-off-by: Petr Baudis <pasky@suse.cz>
Catalin Marinas [Mon, 21 May 2007 20:58:39 +0000 (21:58 +0100)]
Add a "make tags" target
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Robin Rosenberg [Mon, 21 May 2007 20:58:39 +0000 (21:58 +0100)]
Don't use / as separatar since it is common i branch names
Don't use / as separatar since it is common i branch names
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Robin Rosenberg [Mon, 21 May 2007 20:58:39 +0000 (21:58 +0100)]
Update the bash prompt from 'applied' instead of the obsolete 'current'
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
söndag 20 maj 2007 skrev Yann Dirson:
> Note that "tail -1" gives a warning with newer versions, "tail -n 1"
> should be the proper call.
My man page doesn't mention -N being deprecated, but ok since -n 1 seems
to work here too.
> Also I'm not sure it is a good way to look at "applied" file, since
> Karl IIRC has plans to change this. Better call "stg top" and not
> touch that again :)
Calling stg is too slow to be be used here. I that command in my first draft
for this function and people complained (see the thread named "Bash snippet
to show branch and patch in bash prompt"). It takes ~ 0.15s on here which is
very noticable, barely below my pain threshold.
We'll update the prompt when and if Karl breaks this.
It'd probably drain my battery too :/
-- robin
contrib/stgbashprompt.sh | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
Karl Hasselström [Mon, 21 May 2007 20:58:39 +0000 (21:58 +0100)]
Refactor message printing
Feed all those little progress and status messages through a central
place where such things as newlines, indentation, and suppressing
output when not on a TTY can be taken care of once and for all.
This patch takes care of almost, but not quite, all output. The most
notable leftover is the printing of help messages.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Mon, 21 May 2007 20:58:38 +0000 (21:58 +0100)]
Add --binary flag to commands that generate diffs
This just passes the --binary option to git-diff-*, which causes the
generated diffs to contain an applyable diff even when binary files
differ. It's necessary to do this if you want to mail patches to
binary files.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Mon, 21 May 2007 20:58:38 +0000 (21:58 +0100)]
Test the format version upgrade code
This test contains tarballs of repositories created with older
versions of StGIT. It also contains the script used to generate them,
but at some point we will lose the ability to easily run old versions
-- for example, if git changes incompatibly -- so tarballs will be the
only practical option for sufficiently old versions.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Mon, 21 May 2007 20:58:38 +0000 (21:58 +0100)]
Upgrade old StGIT branches to new-format metadata
There used to be a "stg branch --convert" command that switched
between "old" and "new" format metadata. But my recent metadata
cleanup patches introduced a "new new" format, and more are hopefully
on the way, so it was time to start versioning the metadata format
explicitly in order to avoid future headaches.
This patch removes the "stg branch --convert" command, and makes StGIT
automatically upgrade older formats to the latest format. It stores
the format (as an integer) in the config file. The current metadata
format version number is 2 (the "old" format is 0, and the "new"
format is 1).
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Mon, 21 May 2007 20:58:38 +0000 (21:58 +0100)]
Have only a single command in each test_expect_failure
Otherwise, we can't know which one failed.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Mon, 21 May 2007 20:58:38 +0000 (21:58 +0100)]
Fix config caching so that get, set, get works
The config caching was never invalidated or updated, which caused the
two gets to always return the same value regardless of the value
passed to set.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Tue, 15 May 2007 19:38:40 +0000 (21:38 +0200)]
Remove obsolete files when deleting a branch
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Tue, 15 May 2007 17:10:02 +0000 (18:10 +0100)]
Store branch description in the config file
Instead of storing the branch description in an StGIT-specific file,
store it in the git config file, where tools other than StGIT can read
and write it.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Catalin Marinas [Tue, 15 May 2007 17:10:02 +0000 (18:10 +0100)]
Use list comprehension in uncommit.py for Python 2.3
The (None for ...) is not allowed in Python 2.3. Changed to [...]
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Karl Hasselström [Tue, 15 May 2007 17:10:02 +0000 (18:10 +0100)]
Uncommit to a named commit
Add a new flag to "stg uncommit": --to. This flag takes a committish
parameter, and uncommits everything up until that commit.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Tue, 15 May 2007 17:10:01 +0000 (18:10 +0100)]
If any uncommit would fail, don't uncommit anything
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Tue, 15 May 2007 17:10:00 +0000 (18:10 +0100)]
Remove an unnecessary parameter to make_patch_name
The "alternative" parameter was a boolean that indicated whether we
were interested in testing if the first generated name was acceptable,
or if we would just always accept it. But that can be accomplished by
giving an "unacceptable" function that always returns False, so
there's no need for an additional parameter.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Tue, 15 May 2007 17:10:00 +0000 (18:10 +0100)]
Generate patch names of more uniform length
Cut the generated patch name at 30 characters after getting rid of
unwanted characters, not before. This gives patch names of more
uniform length, since consecutive unwanted characters were replaced by
a single dash.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Tue, 15 May 2007 17:09:59 +0000 (18:09 +0100)]
Make the "name" argument to "stg new" optional
If no name is given, one is generated from the commit message. This
can be very handy.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Yann Dirson [Tue, 15 May 2007 17:09:58 +0000 (18:09 +0100)]
Rename "bury" back to "sink".
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Tue, 15 May 2007 17:09:57 +0000 (18:09 +0100)]
Stop recording branch.*.remote to '.' for local parents.
We should be using the remote name of the remote branch in
branch.*.merge, instead of the local one as we currently do (I'll
ensure this in a later patch).
As a consequence, setting "remote" to '.' and "merge" to the name of a
*local* parent would become inconsistent with the remote case. Anyway
the local case should make use of pull-policy=rebase instead, and this
change revealed that we were fetching useless information in the local
case (no need for a remote).
Signed-off-by: Yann Dirson <ydirson@altern.org>
Catalin Marinas [Tue, 15 May 2007 17:09:55 +0000 (18:09 +0100)]
Fix typo in the patchlogs copying code
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Karl Hasselström [Mon, 14 May 2007 19:28:10 +0000 (21:28 +0200)]
Store branch description in the config file
Instead of storing the branch description in an StGIT-specific file,
store it in the git config file, where tools other than StGIT can read
and write it.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Sun, 13 May 2007 18:27:30 +0000 (20:27 +0200)]
Use "stg applied" instead of reading the applied file directly
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Sun, 13 May 2007 18:27:25 +0000 (20:27 +0200)]
Test patch order, not just number of patches
In addition to testing the number of applied patches, also test their
order. And test the order of unapplied patches too while we're at it.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Sun, 13 May 2007 18:27:20 +0000 (20:27 +0200)]
Make patch deletion test more specific
Don't just test the number of applied and unapplied patches; also test
their name and order.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Yann Dirson [Sun, 13 May 2007 14:11:54 +0000 (16:11 +0200)]
Document patch syntax.
Acked-by: Karl Hasselström <kha@treskal.com>
Signed-off-by: Yann Dirson <ydirson@altern.org>
Karl Hasselström [Fri, 11 May 2007 01:40:05 +0000 (03:40 +0200)]
Make the "name" argument to "stg new" optional
If no name is given, one is generated from the commit message. This
can be very handy.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Tue, 8 May 2007 23:32:46 +0000 (01:32 +0200)]
Fix popping on non-active branches
Resetting HEAD on the current branch when popping a patch on another
branch isn't a great idea.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Yann Dirson [Sun, 6 May 2007 23:13:57 +0000 (01:13 +0200)]
Teach bash to complete branch names in some places.
This patch causes bash completion to look for branch names instead of
patch names for "branch" and "rebase".
Unfortunately, the current completion framework does not seem flexible
enough to get branch completion after "-b" flags, but I feel things
are already better this way.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Karl Hasselström [Sun, 6 May 2007 15:13:44 +0000 (17:13 +0200)]
Don't use patches/<branch>/current
The name of the current patch, if any, is always the last line of
patches/<branch>/applied (and there is no current patch if and only if
the "applied" file is empty). So use that instead, and stop having to
worry about keeping the redundant "current" file up-to-date.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Yann Dirson [Sat, 5 May 2007 14:00:28 +0000 (16:00 +0200)]
Copy patchlogs when cloning a stack or picking a patch.
This will allow to keep patch history accross those operations, and
see when they diverged when looking at the respective patchlogs. With
more work, that will allow to locate the common ancestor when sync'ing
a patch across branches.
The work on "pick" can still be improved: currently the patchlog is
preserved on "pick patch[@branch][//top]", but we could make it work
for //top.old as well (or any rev in the patchlog when we'll be able
to name those).
Patchlog preservation in pick can only work when referencing a patch
by name. When picking an arbitrary commit we could also improve
things by recording a "pick" operation instead of a "new".
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Sat, 5 May 2007 14:00:23 +0000 (16:00 +0200)]
Cleanup variable names in pick.
I'm going to need patch objects there, so avoid using variable "patch"
to store only a patchname.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Sat, 5 May 2007 13:58:07 +0000 (15:58 +0200)]
Avoid contrib/stg-swallow deleting unrelated empty patches.
Let's just check ourselves if the patch is empty after pushing instead
of using clean: no more surprise with patches getting abusively
cleaned, and we should now be faster when there are many unapplied
patches.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Roland Dreier [Thu, 3 May 2007 18:29:41 +0000 (11:29 -0700)]
Fix deleting series trash directory
When deleting a series, the loop that iterates through the files in
__trash_dir needs to add __trash_dir to the filename that it passes to
os.remove().
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Karl Hasselström [Sun, 29 Apr 2007 22:15:52 +0000 (00:15 +0200)]
Don't use refs/bases/<branchname>
It's silly to save the stack base in a ref when it can trivially be
computed from the bottommost applied patch, if any. (If there are no
applied patches, it's simply equal to HEAD.)
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Sun, 29 Apr 2007 21:09:55 +0000 (23:09 +0200)]
dash doesn't do curly brace expansion, so avoid that
I have dash as /bin/sh, and it doesn't seem to expand stuff in curly
braces, which breaks t1800. Work around this by not using curly brace
expansion to generate test data.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Karl Hasselström [Sun, 29 Apr 2007 21:09:50 +0000 (23:09 +0200)]
String comparison is done with "=", not "=="
The "test" builtin in bash accepts both "==" and "=", but it didn't
work with dash as /bin/sh.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Catalin Marinas [Tue, 17 Apr 2007 16:29:32 +0000 (17:29 +0100)]
Failed recursive merging can silently lose date in StGIT
The logic in git.merge(recursive = True) is that if
git-merge-recursive fails, deal with the unmerged entries via diff3
and interactive merge (if 'autoimerge' is set to 'yes' in
config). There is a situation, however, when git-merge-recursive fails
because of an untracked file that would be overwritten by the
merge. In this case, git-merge-recursive aborts the operation but
without any unmerged entries in the index. StGIT considers that the
merge lead to an empty patch without reporting any error.
This commit makes it a bit safer by detecting whether there are
unmerged index entries and, if not, further raises an error informing
the user of the problem. The patch is still pushed as empty but the
user is informed of the failure and the possibility of running 'push
--undo'.
A better solution, but which require a bit more work, is to
distinguish between the merge failures and, in this specific case,
abort the push completely and revert the patch to its original state
(and popped from the stack).
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Yann Dirson [Thu, 12 Apr 2007 20:15:36 +0000 (22:15 +0200)]
Document the new 'stg branch --description' features.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Catalin Marinas [Wed, 11 Apr 2007 23:01:10 +0000 (00:01 +0100)]
Revert commit "Move man page stg(1) to stg(7)"
This commit is reverting
5906924135f886527c1e947d100073067783eaa2 and
also moves stg.txt to section 1 in Documentation/Makefile.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Catalin Marinas [Wed, 11 Apr 2007 23:01:10 +0000 (00:01 +0100)]
Fix the 'bury' command completion to include all patches
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Catalin Marinas [Tue, 10 Apr 2007 22:09:17 +0000 (23:09 +0100)]
Move man page stg(1) to stg(7)
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Yann Dirson [Tue, 10 Apr 2007 18:27:02 +0000 (20:27 +0200)]
Add "stg bury" command, with the functionality of contrib/stg-sink.
This is the rewrite in python of by stg-sink written in perl.
I changed the name to "bury" since it seems more descriptive of what
it does, despite being less of an opposite to "float" than "sink" was.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Catalin Marinas [Tue, 10 Apr 2007 21:47:10 +0000 (22:47 +0100)]
Add --description option to branch
This options allows one to set the description text of a branch.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Yann Dirson [Tue, 10 Apr 2007 21:47:10 +0000 (22:47 +0100)]
Stop advertising 'pull' as the only operation blocked on protected stacks.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Tue, 10 Apr 2007 21:47:10 +0000 (22:47 +0100)]
Make the documentation of options more consistent.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Tue, 10 Apr 2007 21:47:10 +0000 (22:47 +0100)]
Fix doc cross-refs.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Tue, 10 Apr 2007 21:47:10 +0000 (22:47 +0100)]
Add doc for 'branch'.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Tue, 10 Apr 2007 21:47:10 +0000 (22:47 +0100)]
Add doc for 'clone' and 'init'.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Tue, 10 Apr 2007 21:47:09 +0000 (22:47 +0100)]
Don't use section 7 for main manpage.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Tue, 10 Apr 2007 21:47:09 +0000 (22:47 +0100)]
Fix typo in help string.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 16 Mar 2007 22:45:45 +0000 (22:45 +0000)]
Cleanup parent information on stgit branch deletion.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 16 Mar 2007 22:45:45 +0000 (22:45 +0000)]
Add support for unsetting config vars.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 16 Mar 2007 22:45:45 +0000 (22:45 +0000)]
Add a script to quickly run an interactive test session.
This uses the capabilities of the test library to provide a throw-away
playground to test how the current stgit tree behaves.
To use it, run the following command:
(cd t && ./interactive.sh)
You'll get a shell in a brand new git tree. Exiting that shell will
get rid of this temporary directory.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 16 Mar 2007 22:45:45 +0000 (22:45 +0000)]
Remove debugging output from contrib/stg-sink
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 16 Mar 2007 22:45:44 +0000 (22:45 +0000)]
Copy parentbranch setting on 'stg branch --clone'.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 16 Mar 2007 22:45:44 +0000 (22:45 +0000)]
Drop utils.remove_dirs() in favor of os.removedirs().
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 16 Mar 2007 22:45:44 +0000 (22:45 +0000)]
Make use exception raised by removedirs.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 16 Mar 2007 22:45:44 +0000 (22:45 +0000)]
Fix diagnostic messages on patch deletion and simplify others.
Also make use standard os.removedirs(), allowing for the same
simplification.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 16 Mar 2007 22:45:43 +0000 (22:45 +0000)]
Fix stack deletion when orig-base is present.
The introduction of the orig-base file makes the stack deletion fail
to remove the stack's directory, leaving the stack in a zombie state,
where attempting to recreate it was refused because of the directory
already existing, but attempting to delete it failed since the applied
and unapplied files were not found.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Robin Rosenberg [Fri, 16 Mar 2007 22:45:43 +0000 (22:45 +0000)]
Add an empty line before signed-off-by
Default to the standard convention of having an empty line
before the Signed-off line when addign a signature using the
--sign option.
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Yann Dirson [Mon, 12 Mar 2007 22:44:22 +0000 (22:44 +0000)]
Fixed t2102-pull-policy-rebase to really test 'rebase' policy.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Mon, 12 Mar 2007 22:44:21 +0000 (22:44 +0000)]
Make 'stg cp' 2nd form safe.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Mon, 12 Mar 2007 22:44:21 +0000 (22:44 +0000)]
Some clarifications to the main doc.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Mon, 12 Mar 2007 22:44:21 +0000 (22:44 +0000)]
Do not link to docs that will never be written.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Mon, 12 Mar 2007 22:44:21 +0000 (22:44 +0000)]
Add 'stg cp' command.
Supports copying several files and dirs into existing dir, as well as
copying single file or dir with a new name.
In the case of directory copying, only copies files known to git (ie,
no generated files). Should maybe add --all as alternative.
Does not check whether we're going to lose data (overwriting any
modified file, or any file not tracked by git). This should probably
be done first, before doing any real change (preparing the changes
in-memory, then do the work if OK). Will give us --dry-run at no
additional cost.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Catalin Marinas [Mon, 12 Mar 2007 22:44:20 +0000 (22:44 +0000)]
Only check for upstream merges if not fast-forwarding
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Catalin Marinas [Thu, 7 Dec 2006 22:02:42 +0000 (22:02 +0000)]
[Revert] Make 'push --undo' safer
(reverting of commit
539fb2921209bd3fd6165baa057f76f474aa5cb4)
Make the push undoing a bit safer by asking the user to first clean
the local changes or conflicts rather than silently resetting them.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Yann Dirson [Tue, 6 Mar 2007 20:18:44 +0000 (21:18 +0100)]
Fix bash completion to not garble the screen with an error message.
Maybe we could refuse to complete further when the command was not
recognized, but at least this fix avoids the annoying behaviour.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 2 Mar 2007 21:34:29 +0000 (21:34 +0000)]
Add contrib/stg-sink: sink a patch to given location (mirrors float).
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 2 Mar 2007 21:34:29 +0000 (21:34 +0000)]
Add contrib/stg-mdiff: display diffs of diffs.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 2 Mar 2007 21:34:29 +0000 (21:34 +0000)]
Add contrib/stg-gitk: helper script to run gitk
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 2 Mar 2007 21:34:28 +0000 (21:34 +0000)]
Add contrib/stg-cvs: helper script to manage a mixed cvs/stgit working copy
This is an early prototype only, use with care, and be sure to read the
LIMITATIONS section in the script comments.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 2 Mar 2007 21:34:28 +0000 (21:34 +0000)]
Add contrib/stg-swallow: completely merge an unapplied patch into current one
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 2 Mar 2007 21:34:28 +0000 (21:34 +0000)]
Add contrib/stg-fold-files-from: pick selected changes from a patch above current one
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 2 Mar 2007 21:34:28 +0000 (21:34 +0000)]
Add contrib/stg-show-old: show old version of a patch.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Fri, 2 Mar 2007 21:34:28 +0000 (21:34 +0000)]
Add contrib/stg-whatchanged: look at what would be changed by refreshing.
This script outputs a "metadiff" (diff of diffs, ie. diff between 2
versions of a single patch). This is somewhat a proof of concept, and some
work is indeed needed in the way to present the results. Consider
filtering the output at least through colordiff.
I have 2 uses for this script:
- when simply editing a patch, provides a 3rd way to check what I've done
before refreshing (in addition to "stg diff" and "stg diff -r //bottom")
- most usefully, when resolving conflicts caused by a push, to ease
checking of the merge result.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Catalin Marinas [Wed, 28 Feb 2007 11:10:22 +0000 (11:10 +0000)]
Use and..or as a ternary operator rather than a dictionary
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Catalin Marinas [Wed, 28 Feb 2007 08:41:56 +0000 (08:41 +0000)]
Add EditorException to stgit/utils.py
The patch adds the stgit.main.main handling of this exception as well.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Catalin Marinas [Wed, 28 Feb 2007 08:41:56 +0000 (08:41 +0000)]
Add an interractive 2-way merge option
Since emacs can handle 2-way merges as well with ediff-merge-files,
this patch changes the 'imerger' config option to 'i3merge' and also
adds an 'i2merge' option. The gitmergeonefile.py algorithm was
modified to handle 2-way merges interactively as well.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Yann Dirson [Wed, 28 Feb 2007 08:41:56 +0000 (08:41 +0000)]
Add missing files to stgit manifest.
Many things, including Makefile and all documentation were left out of
various packaging because they're not included in the tarball.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Wed, 28 Feb 2007 08:41:55 +0000 (08:41 +0000)]
Merge doc/ and Documentation/ directories.
This merges everything into Documentation, to match the GIT layout
("make doc" did not work anyway since "doc" was not marked phony).
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Wed, 28 Feb 2007 08:41:55 +0000 (08:41 +0000)]
Add a Documentation directory inspired by the git one.
The html and manpages are generated from asciidoc source. Short
description strings are extracted from the python modules.
Only the stg(7) frontpage and the stg-new(1) command page are already
written. A template is provided for new command pages.
This also reworks a couple of help strings and command classification.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Wed, 28 Feb 2007 08:41:55 +0000 (08:41 +0000)]
Factorize editor handling.
At the same time we trap the editor error for all editor calls, not
just when called from "stg mail". We may want to define a new
exception for this though.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Wed, 28 Feb 2007 08:41:42 +0000 (08:41 +0000)]
Add a testcase for the safety of pull-policy='pull'.
This testcase demonstrates a long-standing problem with the handling
of conflicts on a rewinding branch, when "stg pull" calls git-pull.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Yann Dirson [Tue, 27 Feb 2007 22:39:09 +0000 (22:39 +0000)]
Correctly raise exception on unknown pull-policy.
Signed-off-by: Yann Dirson <ydirson@altern.org>