chiark / gitweb /
topgit.git
8 years agoPass -- to diff-tree for branch/filename disambiguation
Uwe Kleine-König [Sat, 7 Mar 2009 20:01:30 +0000 (21:01 +0100)]
Pass -- to diff-tree for branch/filename disambiguation

Script to show the need of this patch:

mkdir ty;
cd ty;
git init-db;
touch a;
git add a;
git commit -m "...";
tg create bla;
git commit -m "...";
mkdir bla;
touch bla/blub;
git add bla/blub;
git commit -m "...";
tg export --quilt tt;

Reported-by: "Bernhard R. Link" <brlink@debian.org>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
8 years agobump version number to 0.7
Uwe Kleine-König [Thu, 5 Mar 2009 10:29:07 +0000 (11:29 +0100)]
bump version number to 0.7

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
8 years agoFix typo s/emmail/email/
Uwe Kleine-König [Tue, 3 Mar 2009 09:31:22 +0000 (10:31 +0100)]
Fix typo s/emmail/email/

This was introduced by a tired coder in d479474440713.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
8 years agoMerge branch 'upstream' of git.debian.org:/git/collab-maint/topgit
Uwe Kleine-König [Tue, 3 Mar 2009 09:30:10 +0000 (10:30 +0100)]
Merge branch 'upstream' of git.debian.org:/git/collab-maint/topgit

8 years agoAdd documentation for tg export --linearize
Uwe Kleine-König [Tue, 3 Mar 2009 09:01:23 +0000 (10:01 +0100)]
Add documentation for tg export --linearize

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
8 years agoDon't throw away already started base on resumed create.
Uwe Kleine-König [Sun, 1 Mar 2009 19:55:40 +0000 (20:55 +0100)]
Don't throw away already started base on resumed create.

The problem was that after a failure to create the patch base the
resuming tg create did reset HEAD to the next tree to merge in which is
the right thing for a pristine create.

This addresses Debian Bug #513018 and is based on a patch by the bug
reporter Gábor Braun.  A recipe triggering the bug is part of the report
that can be found at http://bugs.debian.org/513018.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
8 years ago[TOPGIT] implement linearize export method
Uwe Kleine-König [Thu, 15 Jan 2009 21:45:57 +0000 (22:45 +0100)]
[TOPGIT] implement linearize export method

This is a draft that seems to work for my test case.  The error handling
is to be improved though.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
8 years ago[TOPGIT] make creating a commit from a topgit branch a function
Uwe Kleine-König [Wed, 14 Jan 2009 20:26:18 +0000 (21:26 +0100)]
[TOPGIT] make creating a commit from a topgit branch a function

This helps avoiding code duplication for the next commit.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
8 years ago[TOPGIT] make tg remote idempotent
Uwe Kleine-König [Wed, 14 Jan 2009 20:23:51 +0000 (21:23 +0100)]
[TOPGIT] make tg remote idempotent

Before this patch each call to tg remote added three config entries
no matter if they already existed.  After some time my .git/config was
crowded.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
8 years ago[TOPGIT] allow working with annihilated branches
Uwe Kleine-König [Wed, 25 Feb 2009 19:44:11 +0000 (20:44 +0100)]
[TOPGIT] allow working with annihilated branches

If you decide that you want to drop a patch, you can just merge in its
base with strategy "theirs".  Then you have base=topic and so no .top*
files any more.  This patch fixes tg summary and the helper function
recurse_deps() to handle these annihilated branches as if they don't
exist and don't show up in .topdeps files.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
8 years ago[TOPGIT] limit rev-list in branch_contains to a single rev
Uwe Kleine-König [Wed, 25 Feb 2009 10:05:00 +0000 (11:05 +0100)]
[TOPGIT] limit rev-list in branch_contains to a single rev

This eases reading of debug output using sh -x and probably helps
performance, too.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
8 years agobump version number to 0.6
martin f. krafft [Fri, 23 Jan 2009 05:33:43 +0000 (16:33 +1100)]
bump version number to 0.6

8 years agoput tg version into a variable at the top
martin f. krafft [Fri, 23 Jan 2009 05:33:29 +0000 (16:33 +1100)]
put tg version into a variable at the top

8 years agotg-patch: add support for generating patches against worktree and index
Kirill Smelkov [Wed, 21 Jan 2009 20:18:42 +0000 (23:18 +0300)]
tg-patch: add support for generating patches against worktree and index

This implements `tg patch -i` and `tg patch -w` to see current patch as
generated against not-yet-committed index and worktree.

NOTE: unfortunately `git cat-file blob <file>` does not provide an option
to cat file from worktree (only from an object or from index), so I had to
unroll my own `cat file topic:file` with special support for '(i)' and
'(w)' topics.

Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
8 years agotg-patch: fix pagination
Kirill Smelkov [Wed, 21 Jan 2009 20:18:42 +0000 (23:18 +0300)]
tg-patch: fix pagination

Previously, when I was invoking `tg patch` the following used to happen:

1. .topmsg content was sent directly to _terminal_
2. for each file in the patch, its diff was generated with `git diff`
   and sent to *PAGER*
3. trailing 'tg: ...' was sent to terminal again

So the problem is that while `tg patch >file` works as expected, plain
`tg patch` does not -- in pager there is only a part of the whole patch
(first file diff) and header and trailer are ommitted.

I've finally decided to fix this inconvenience, and the way it works is
like in git -- we just hook `setup_pager` function in commands which
need to be paginated.

Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
8 years agoImplement setup_pager just like in git
Kirill Smelkov [Wed, 21 Jan 2009 20:18:42 +0000 (23:18 +0300)]
Implement setup_pager just like in git

setup_pager() spawns a pager process and redirect the rest of our output
to it.

This will be needed to fix `tg patch` output in the next commit.

Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
8 years agomake tg remote idempotent
Uwe Kleine-König [Wed, 14 Jan 2009 20:23:51 +0000 (21:23 +0100)]
make tg remote idempotent

Before this patch each call to tg remote added three config entries
no matter if they already existed.  After some time my .git/config was
crowded.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
8 years agoCheck for git-send-email and die if not found
martin f. krafft [Wed, 21 Jan 2009 03:36:45 +0000 (14:36 +1100)]
Check for git-send-email and die if not found

Signed-off-by: martin f. krafft <madduck@debian.org>
8 years agotg-completion: complete options for `tg remote`
Kirill Smelkov [Mon, 5 Jan 2009 15:08:20 +0000 (18:08 +0300)]
tg-completion: complete options for `tg remote`

Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
Signed-off-by: martin f. krafft <madduck@debian.org>
8 years agotg-completion: complete options for `tg summary`
Kirill Smelkov [Mon, 5 Jan 2009 15:08:19 +0000 (18:08 +0300)]
tg-completion: complete options for `tg summary`

Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
Signed-off-by: martin f. krafft <madduck@debian.org>
8 years agotg export (quilt): Implement numbering the patches
Uwe Kleine-König [Fri, 19 Dec 2008 22:21:48 +0000 (23:21 +0100)]
tg export (quilt): Implement numbering the patches

To ease sending patches, with --numbered each patch gets a number prefix
similar to the output of git format-patch.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: martin f. krafft <madduck@debian.org>
8 years agotg export (quilt): Implement flattening patch paths
Uwe Kleine-König [Fri, 19 Dec 2008 21:40:33 +0000 (22:40 +0100)]
tg export (quilt): Implement flattening patch paths

The result of providing the new flag --flatten is that the exported
patches are all placed directly in the output directory, not in
subdirectories below it.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: martin f. krafft <madduck@debian.org>
8 years agotg export (collapse): implement skipping empty patches
Uwe Kleine-König [Fri, 19 Dec 2008 21:18:37 +0000 (22:18 +0100)]
tg export (collapse): implement skipping empty patches

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: martin f. krafft <madduck@debian.org>
8 years agoREADME: spelling fixes
Jonas Fonseca [Tue, 2 Dec 2008 07:45:46 +0000 (08:45 +0100)]
README: spelling fixes

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Signed-off-by: martin f. krafft <madduck@debian.org>
8 years agotg-summary: -t and --graphviz are mutual exclusive
Bert Wesarg [Wed, 26 Nov 2008 18:39:45 +0000 (19:39 +0100)]
tg-summary: -t and --graphviz are mutual exclusive

The -t and --graphviz don't work together, the output is not what one expect.

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: martin f. krafft <madduck@debian.org>
8 years agotg-export: implement skipping empty patches for quilt mode
Uwe Kleine-König [Wed, 26 Nov 2008 12:13:00 +0000 (13:13 +0100)]
tg-export: implement skipping empty patches for quilt mode

addionally fix the README item for skipping the export of empty patches
not to need an option (-n) as this should be the default.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: martin f. krafft <madduck@debian.org>
9 years agoPass -- to rev-list for branch/filename disambiguation
Marc Weber [Fri, 21 Nov 2008 09:05:30 +0000 (10:05 +0100)]
Pass -- to rev-list for branch/filename disambiguation

While playing around it happened that I called the topic branch and
a file "foo"... Here is a small incomplete patch: I've not tried to
catch all of these errors..

Signed-off-by: martin f. krafft <madduck@debian.org>
9 years agoAdd Vim modelines for consistent spacing
martin f. krafft [Thu, 20 Nov 2008 14:46:05 +0000 (15:46 +0100)]
Add Vim modelines for consistent spacing

TopGit shell scripts use tabs and this commit instructs Vim via modeline not
to expand tabs.

Signed-off-by: martin f. krafft <madduck@debian.org>
Acked-by: Petr Baudis <pasky@ucw.cz>
9 years agoNote that do_help is used when short messages might be wanted
martin f. krafft [Thu, 20 Nov 2008 14:24:16 +0000 (15:24 +0100)]
Note that do_help is used when short messages might be wanted

From http://marc.info/?l=git&m=122718711327376&w=2, by Petr:

  Note that I think these changes are reasonable only as long as do_help
  is just a short two-line usage help; in the event we also implement a
  longer help, it certainly shouldn't be printed in these cases.

This commit adds a comment to the do_help function to remind us.

Signed-off-by: martin f. krafft <madduck@debian.org>
9 years agoPrint help message when command is not proper
martin f. krafft [Thu, 20 Nov 2008 14:06:19 +0000 (15:06 +0100)]
Print help message when command is not proper

When invoked with an unknown subcommand, or when --help is sought for
a command that does not exist, TopGit prints the help message.

Signed-off-by: martin f. krafft <madduck@debian.org>
Acked-by: Petr Baudis <pasky@suse.cz>
9 years agoRequire an argument to tg -r
martin f. krafft [Thu, 20 Nov 2008 14:04:48 +0000 (15:04 +0100)]
Require an argument to tg -r

Right now, if -r is passed to tg, an ugly shift error occurs. This patch
checks for that case and outputs the help message if it occurs.

Signed-off-by: martin f. krafft <madduck@debian.org>
Acked-by: Petr Baudis <pasky@suse.cz>
9 years agoPrint help output when no command is given
martin f. krafft [Wed, 19 Nov 2008 15:10:23 +0000 (16:10 +0100)]
Print help output when no command is given

As much as I love your message (although you really ought not be
throwing around ducks!), this is more user-friendly.

Signed-off-by: martin f. krafft <madduck@debian.org>
Acked-by: Petr Baudis <pasky@suse.cz>
9 years agoCheck for cmddir earlier
martin f. krafft [Wed, 19 Nov 2008 15:08:02 +0000 (16:08 +0100)]
Check for cmddir earlier

Without cmddir, tg is basically useless, even do_help() needs it, so
check it first and die hard if not found

Signed-off-by: martin f. krafft <madduck@debian.org>
Acked-by: Petr Baudis <pasky@suse.cz>
9 years agoChange tg help exit code to 0
martin f. krafft [Wed, 19 Nov 2008 15:07:02 +0000 (16:07 +0100)]
Change tg help exit code to 0

Printing --help is not an error, but a successful operation, if the help
output could be printed.

Signed-off-by: martin f. krafft <madduck@debian.org>
Acked-by: Petr Baudis <pasky@suse.cz>
9 years agoadd ignore patterns for quilt and debian build
martin f. krafft [Wed, 19 Nov 2008 14:44:15 +0000 (15:44 +0100)]
add ignore patterns for quilt and debian build

Signed-off-by: martin f. krafft <madduck@debian.org>
9 years agoMake sure gitignore patterns are not recursive
martin f. krafft [Wed, 19 Nov 2008 14:42:47 +0000 (15:42 +0100)]
Make sure gitignore patterns are not recursive

9 years agoremove +x bit from tg-depend
martin f. krafft [Wed, 19 Nov 2008 14:20:16 +0000 (15:20 +0100)]
remove +x bit from tg-depend

9 years agoignore tg-depend build files
martin f. krafft [Mon, 17 Nov 2008 21:57:35 +0000 (22:57 +0100)]
ignore tg-depend build files

Signed-off-by: martin f. krafft <madduck@debian.org>
9 years agoUpdate version in tg script to 0.5
martin f. krafft [Mon, 17 Nov 2008 21:34:13 +0000 (22:34 +0100)]
Update version in tg script to 0.5

Signed-off-by: martin f. krafft <madduck@debian.org>
9 years agoMake sure $root_dir does not have a trailing slash
Matt McDonald [Fri, 14 Nov 2008 00:15:37 +0000 (19:15 -0500)]
Make sure $root_dir does not have a trailing slash

This adds support for using 'tg create' from within a subdirectory.

Apparently, git doesn't seem a do a good job of normalizing paths.
When topgit tries to add a new .topdeps file in a newly created
branch, git bails out with:

$ tg create new-branch
tg: Automatically marking dependency on old-branch
tg: Creating new-branch base from old-branch...
Switched to a new branch "new-branch"
(here, tg tries to do:  git add ../../..//.topdeps)

fatal: pathspec '/.topdeps' did not match any files

Since $root_dir is used everywhere like: "$root_dir/.topdeps", this
patch tries to make sure that $root_dir never has the trailing slash
so it always produces safe paths.

Signed-off-by: martin f. krafft <madduck@madduck.net>
9 years agotg depend: Allow adding deps from a subdir inside the repo.
Matt McDonald [Sat, 8 Nov 2008 19:01:02 +0000 (14:01 -0500)]
tg depend: Allow adding deps from a subdir inside the repo.

9 years agotg-export: no current branch check with -b
martin f. krafft [Fri, 26 Sep 2008 19:17:12 +0000 (21:17 +0200)]
tg-export: no current branch check with -b

When --quilt .. -b is given, TopGit dies with

  piper:../pkg/topgit/topgit|build|% tg export --quilt -b debian/locations debian/patches
  tg: fatal: not on a TopGit-controlled branch

which is a little too restrictive as we don't have to be on a tg branch with
-b. This patch simply removes this check if -b has been passed.

Signed-off-by: martin f. krafft <madduck@madduck.net>
9 years agotg-mail: do not use arrays, which are bashisms
martin f. krafft [Fri, 26 Sep 2008 19:04:19 +0000 (21:04 +0200)]
tg-mail: do not use arrays, which are bashisms

tg-mail uses shell arrays for the people array, which are not supported by
POSIX. The script runs as /bin/sh, so it cannot assume non-POSIX features.
This patch reimplements the array population with a POSIX-compliant approach.

Signed-off-by: martin f. krafft <madduck@madduck.net>
9 years agoTopGit: Force adding .topdeps on tg-depend
Antonio Ospite [Tue, 28 Oct 2008 17:54:14 +0000 (18:54 +0100)]
TopGit: Force adding .topdeps on tg-depend

Force adding .topdeps, overcomes the case when .* is in .gitignore

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
9 years agoTopGit: small Makefile nitpichink
Antonio Ospite [Fri, 24 Oct 2008 10:54:24 +0000 (12:54 +0200)]
TopGit: small Makefile nitpichink

Make 'prefix' replacement more explicit using ?=

Use simple substitution assignment := when there are some expansions in
place.  This is a good practice to speed up builds, maybe not particularly
useful with such a simple Makefile.

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
9 years agoREADME: tg depend rm TODO (insp. by Jonas)
Petr Baudis [Fri, 7 Nov 2008 21:16:37 +0000 (22:16 +0100)]
README: tg depend rm TODO (insp. by Jonas)

9 years agotg summary --graphviz: Dot-suitable dependency graph
Petr Baudis [Thu, 16 Oct 2008 10:35:16 +0000 (12:35 +0200)]
tg summary --graphviz: Dot-suitable dependency graph

Inspired by Antonio Ospite <ospite@studenti.unina.it>'s tg-graphviz.sh.

9 years agoREADME: lever -> level (spotted by jikos)
Petr Baudis [Thu, 16 Oct 2008 10:10:29 +0000 (12:10 +0200)]
README: lever -> level (spotted by jikos)

9 years agotg export: Clarify usage
Petr Baudis [Fri, 3 Oct 2008 15:23:08 +0000 (17:23 +0200)]
tg export: Clarify usage

9 years agotg mail -r MSGID: Generate In-reply-to header
Petr Baudis [Fri, 3 Oct 2008 15:22:56 +0000 (17:22 +0200)]
tg mail -r MSGID: Generate In-reply-to header

9 years agotg update: Always checkout head, even if we didn't update base further
Petr Baudis [Thu, 2 Oct 2008 11:09:14 +0000 (13:09 +0200)]
tg update: Always checkout head, even if we didn't update base further

9 years agotg update: Fix bogus advice on failed base update
Petr Baudis [Thu, 25 Sep 2008 18:50:36 +0000 (20:50 +0200)]
tg update: Fix bogus advice on failed base update

9 years agotg import: More graceful conflicts handling
Petr Baudis [Thu, 25 Sep 2008 18:50:25 +0000 (20:50 +0200)]
tg import: More graceful conflicts handling

9 years agotg import: Construct actually proper .topmsg file
Petr Baudis [Thu, 25 Sep 2008 18:14:51 +0000 (20:14 +0200)]
tg import: Construct actually proper .topmsg file

9 years agotg import -s: Whitespace fix
Petr Baudis [Thu, 25 Sep 2008 18:11:57 +0000 (20:11 +0200)]
tg import -s: Whitespace fix

9 years agotg import -d: Explicitly specify base dependency of the created branches
Petr Baudis [Thu, 25 Sep 2008 18:11:38 +0000 (20:11 +0200)]
tg import -d: Explicitly specify base dependency of the created branches

9 years agotg import -s: Import single commit using well-defined name
Petr Baudis [Thu, 25 Sep 2008 18:06:57 +0000 (20:06 +0200)]
tg import -s: Import single commit using well-defined name

9 years agotg mail: Fix $header string construction
Petr Baudis [Thu, 25 Sep 2008 16:55:28 +0000 (18:55 +0200)]
tg mail: Fix $header string construction

Prevents e.g. misinterpreting From: line at the body start.

9 years agotg-completion: Use tg summary -t for __tg_topics()
Petr Baudis [Thu, 25 Sep 2008 14:55:41 +0000 (16:55 +0200)]
tg-completion: Use tg summary -t for __tg_topics()

9 years agotg summary -t: Very quick mode, only branch names
Petr Baudis [Thu, 25 Sep 2008 14:55:09 +0000 (16:55 +0200)]
tg summary -t: Very quick mode, only branch names

9 years agoComplete depend subcommand
Jonas Fonseca [Thu, 25 Sep 2008 13:47:06 +0000 (15:47 +0200)]
Complete depend subcommand

Also, removes a debug line and fixes the script header.

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
9 years agotg depend: Even more robust subcommand handling
Petr Baudis [Thu, 25 Sep 2008 13:26:05 +0000 (15:26 +0200)]
tg depend: Even more robust subcommand handling

9 years agodepend: Fix help listing
Jonas Fonseca [Thu, 25 Sep 2008 10:50:40 +0000 (12:50 +0200)]
depend: Fix help listing

Without this `tg help depend` causes all kinds of trouble such as adding
empty lines to .topdeps.

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
9 years agoAdd bash completion script for TopGit
Jonas Fonseca [Thu, 25 Sep 2008 11:06:56 +0000 (13:06 +0200)]
Add bash completion script for TopGit

The script is based on git's bash completion script.

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
9 years agoREADME: Add warning about editing .topdeps manually
Petr Baudis [Thu, 25 Sep 2008 13:16:57 +0000 (15:16 +0200)]
README: Add warning about editing .topdeps manually

9 years agoTopGit-0.4
Petr Baudis [Thu, 25 Sep 2008 00:03:49 +0000 (02:03 +0200)]
TopGit-0.4

9 years agotg export: With quilt driver, accept explicit list of branches
Petr Baudis [Thu, 25 Sep 2008 00:03:02 +0000 (02:03 +0200)]
tg export: With quilt driver, accept explicit list of branches

9 years agotg mail -s SEND_EMAIL_ARGS: Pass arguments to git send-email
Petr Baudis [Wed, 24 Sep 2008 23:33:24 +0000 (01:33 +0200)]
tg mail -s SEND_EMAIL_ARGS: Pass arguments to git send-email

9 years agotg update: Fix resume message
Petr Baudis [Wed, 24 Sep 2008 20:20:57 +0000 (22:20 +0200)]
tg update: Fix resume message

9 years agotg depend add: Add dependency
Petr Baudis [Wed, 24 Sep 2008 17:03:29 +0000 (19:03 +0200)]
tg depend add: Add dependency

9 years agotg delete: Fix spurious output
Petr Baudis [Mon, 22 Sep 2008 16:58:57 +0000 (18:58 +0200)]
tg delete: Fix spurious output

9 years agotg export: Fix exporting remote-based branches
Petr Baudis [Mon, 22 Sep 2008 16:52:57 +0000 (18:52 +0200)]
tg export: Fix exporting remote-based branches

9 years agotg mail: Simplify array usage
Petr Baudis [Mon, 22 Sep 2008 15:46:38 +0000 (17:46 +0200)]
tg mail: Simplify array usage

9 years agotg mail: Tidyup
Petr Baudis [Mon, 22 Sep 2008 15:44:49 +0000 (17:44 +0200)]
tg mail: Tidyup

9 years agotg mail: new command for mailing patches
Kirill Smelkov [Fri, 19 Sep 2008 09:08:21 +0000 (13:08 +0400)]
tg mail: new command for mailing patches

Petr, since you've asked for help on this, here you are:

    $ tg mail [NAME]

a simple script to send one patch over email.

All it does is

    - call `tg patch` for actual patch preparation
    - extract email addresses from whom and where to send a mail
    - boils down to `git send-email`

It is self-hosted -- this mail was send by me with

    $ tg mail t/tg-mail

P.S. I'm not a bash guy, please do not beat me too much...

Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
9 years agotg import: fix + make more robust
Kirill Smelkov [Thu, 18 Sep 2008 16:29:30 +0000 (20:29 +0400)]
tg import: fix + make more robust

a5bf892d0900cbf9949f628c3e05db599341a02c (tg import: Check out new files
as we go) broke tg-import. This is how it fails after that change:

    $ tg import Z~~..Z
    tg: ---- Importing e3e8c1382fe4cedca31e955910914ae0033455eb to t/Z
    tg: Automatically marking dependency on master
    tg: Creating t/Z base from master...
    Switched to a new branch "t/Z"
    tg: Topic branch t/Z set up. Please fill .topmsg now and make initial commit.
    tg: To abort: git rm -f .top* && git checkout master && tg delete t/Z
    fatal: pathspec '.topdeps' did not match any files

That's why, when we do git read-tree -u -m it _kills_ .topmsg and
.topdep both in index and in working tree!

Also, imagine that we are going to import patch C onto A

o---B---A
     \
      C

With read-tree we'll *override* any change in common files between A and
B, so I think read-tree is wrong here (it was ok if we are importing
on top of B).

What is right it seems, is to work on diff level -- to use cherry-pick.
And since cherry-pick does not kill our already-in-index .topmsg and
.topdeps we automatically fix the breakage.

Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
9 years agotg help: <something>: improve readability
Kirill Smelkov [Thu, 18 Sep 2008 16:29:29 +0000 (20:29 +0400)]
tg help: <something>: improve readability

Previously tg help was not showing Usage line, and with this change, now it
looks like e.g.:

$ tg help import
Usage: tg [...] import [-p PREFIX] RANGE...

        Import commits within the given revision range into TopGit,
        creating one topic branch per commit, the dependencies forming
        a linear sequence starting on your current branch.

        The branch names are auto-guessed from the commit messages
        and prefixed by t/ by default; use '-p PREFIX' to specify
        an alternative prefix (even an empty one).

Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
9 years agoUse git-mailinfo to extract author informations from .topmsg
Uwe Kleine-König [Fri, 19 Sep 2008 21:27:57 +0000 (23:27 +0200)]
Use git-mailinfo to extract author informations from .topmsg

This has the benefit that the [PATCH] prefixes are stripped and so it
might help to prevent you sending mails with two prefixes.  (As happend
to me after I git-format-patch'd an exported series and sent it out with
git-send-email.)

Moreover it should make the code more robust and it allows to remove a
helper function.
And it allows you to set add a Date: line to .topmsg which is then used
as author date.

Signed-off-by: Uwe Kleine-König <ukleinek@strlen.de>
9 years agoIgnore vim swp files
Petr Baudis [Mon, 22 Sep 2008 15:28:26 +0000 (17:28 +0200)]
Ignore vim swp files

9 years agotg info, tg patch: Work on top-base HEAD too
Petr Baudis [Mon, 22 Sep 2008 15:24:25 +0000 (17:24 +0200)]
tg info, tg patch: Work on top-base HEAD too

9 years agotg info: Carry over missing Subject line in topmsg
Petr Baudis [Mon, 22 Sep 2008 10:48:40 +0000 (12:48 +0200)]
tg info: Carry over missing Subject line in topmsg

9 years agotg remote README: Add 'git push --all' caveat warning
Petr Baudis [Sun, 14 Sep 2008 19:01:05 +0000 (21:01 +0200)]
tg remote README: Add 'git push --all' caveat warning

9 years agotg delete: Allow branch delete if we aren't on symbolic HEAD
Petr Baudis [Fri, 12 Sep 2008 15:56:45 +0000 (17:56 +0200)]
tg delete: Allow branch delete if we aren't on symbolic HEAD

9 years agotg import: Check out new files as we go
Petr Baudis [Fri, 12 Sep 2008 14:23:01 +0000 (16:23 +0200)]
tg import: Check out new files as we go

This causes a little overhead, but silences confusing git checkout status
messages and makes sure we end up with sensible working tree after the whole
tg import is over.

9 years agotg import: Require clean working tree and index
Petr Baudis [Fri, 12 Sep 2008 14:21:56 +0000 (16:21 +0200)]
tg import: Require clean working tree and index

9 years agoMakefile: Changing Makefile means executables need to be regenerated too
Petr Baudis [Fri, 12 Sep 2008 11:11:48 +0000 (13:11 +0200)]
Makefile: Changing Makefile means executables need to be regenerated too

9 years ago.gitignore: Add tg-import, tg-remote
Petr Baudis [Wed, 10 Sep 2008 15:32:09 +0000 (17:32 +0200)]
.gitignore: Add tg-import, tg-remote

Noticed by Bert Wesarg.

9 years agotg.sh: Typo fix (incanation -> incantation)
Petr Baudis [Wed, 10 Sep 2008 15:30:35 +0000 (17:30 +0200)]
tg.sh: Typo fix (incanation -> incantation)

9 years agoTopGit-0.3
Petr Baudis [Tue, 9 Sep 2008 22:48:56 +0000 (00:48 +0200)]
TopGit-0.3

9 years agoREADME: Remove stale TODO
Petr Baudis [Tue, 9 Sep 2008 22:48:24 +0000 (00:48 +0200)]
README: Remove stale TODO

9 years agoMerge branch 'tg-import'
Petr Baudis [Tue, 9 Sep 2008 22:47:15 +0000 (00:47 +0200)]
Merge branch 'tg-import'

9 years agotg import: Make the progress reporting stand out more
Petr Baudis [Tue, 9 Sep 2008 22:37:41 +0000 (00:37 +0200)]
tg import: Make the progress reporting stand out more

9 years agobranch_contains(): More explicit call to git rev-list
Petr Baudis [Tue, 9 Sep 2008 22:35:48 +0000 (00:35 +0200)]
branch_contains(): More explicit call to git rev-list

9 years agotg import: Fix up process_commit() progress reporting
Petr Baudis [Tue, 9 Sep 2008 22:32:44 +0000 (00:32 +0200)]
tg import: Fix up process_commit() progress reporting

9 years agotg import -p PREFIX: Custom prefix instead of t/
Petr Baudis [Tue, 9 Sep 2008 22:31:17 +0000 (00:31 +0200)]
tg import -p PREFIX: Custom prefix instead of t/

9 years agotg create -r BRANCH: Create branch based on a remote one
Petr Baudis [Tue, 9 Sep 2008 22:29:24 +0000 (00:29 +0200)]
tg create -r BRANCH: Create branch based on a remote one

9 years agoREADME: Add synopsis for working with remotes
Petr Baudis [Tue, 9 Sep 2008 22:11:47 +0000 (00:11 +0200)]
README: Add synopsis for working with remotes

9 years agotg import: Change default prefix from tp/ to t/
Petr Baudis [Tue, 9 Sep 2008 22:06:44 +0000 (00:06 +0200)]
tg import: Change default prefix from tp/ to t/

9 years agotg import: Remove tg_ prefixes from functions
Petr Baudis [Tue, 9 Sep 2008 22:06:14 +0000 (00:06 +0200)]
tg import: Remove tg_ prefixes from functions

9 years agotg import: Standard options parsing
Petr Baudis [Tue, 9 Sep 2008 22:05:39 +0000 (00:05 +0200)]
tg import: Standard options parsing