chiark / gitweb /
martin f. krafft [Fri, 21 Nov 2008 12:02:22 +0000 (13:02 +0100)]
put worktree checks in place
Signed-off-by: martin f. krafft <madduck@debian.org>
martin f. krafft [Fri, 21 Nov 2008 11:51:40 +0000 (12:51 +0100)]
initial
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>
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>
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>
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>
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>
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>
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>
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>
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>
martin f. krafft [Wed, 19 Nov 2008 14:42:47 +0000 (15:42 +0100)]
Make sure gitignore patterns are not recursive
martin f. krafft [Wed, 19 Nov 2008 14:20:16 +0000 (15:20 +0100)]
remove +x bit from tg-depend
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>
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>
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>
Matt McDonald [Sat, 8 Nov 2008 19:01:02 +0000 (14:01 -0500)]
tg depend: Allow adding deps from a subdir inside the repo.
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>
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>
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>
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>
Petr Baudis [Fri, 7 Nov 2008 21:16:37 +0000 (22:16 +0100)]
README: tg depend rm TODO (insp. by Jonas)
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.
Petr Baudis [Thu, 16 Oct 2008 10:10:29 +0000 (12:10 +0200)]
README: lever -> level (spotted by jikos)
Petr Baudis [Fri, 3 Oct 2008 15:23:08 +0000 (17:23 +0200)]
tg export: Clarify usage
Petr Baudis [Fri, 3 Oct 2008 15:22:56 +0000 (17:22 +0200)]
tg mail -r MSGID: Generate In-reply-to header
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
Petr Baudis [Thu, 25 Sep 2008 18:50:36 +0000 (20:50 +0200)]
tg update: Fix bogus advice on failed base update
Petr Baudis [Thu, 25 Sep 2008 18:50:25 +0000 (20:50 +0200)]
tg import: More graceful conflicts handling
Petr Baudis [Thu, 25 Sep 2008 18:14:51 +0000 (20:14 +0200)]
tg import: Construct actually proper .topmsg file
Petr Baudis [Thu, 25 Sep 2008 18:11:57 +0000 (20:11 +0200)]
tg import -s: Whitespace fix
Petr Baudis [Thu, 25 Sep 2008 18:11:38 +0000 (20:11 +0200)]
tg import -d: Explicitly specify base dependency of the created branches
Petr Baudis [Thu, 25 Sep 2008 18:06:57 +0000 (20:06 +0200)]
tg import -s: Import single commit using well-defined name
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.
Petr Baudis [Thu, 25 Sep 2008 14:55:41 +0000 (16:55 +0200)]
tg-completion: Use tg summary -t for __tg_topics()
Petr Baudis [Thu, 25 Sep 2008 14:55:09 +0000 (16:55 +0200)]
tg summary -t: Very quick mode, only branch names
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>
Petr Baudis [Thu, 25 Sep 2008 13:26:05 +0000 (15:26 +0200)]
tg depend: Even more robust subcommand handling
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>
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>
Petr Baudis [Thu, 25 Sep 2008 13:16:57 +0000 (15:16 +0200)]
README: Add warning about editing .topdeps manually
Petr Baudis [Thu, 25 Sep 2008 00:03:49 +0000 (02:03 +0200)]
TopGit-0.4
Petr Baudis [Thu, 25 Sep 2008 00:03:02 +0000 (02:03 +0200)]
tg export: With quilt driver, accept explicit list of branches
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
Petr Baudis [Wed, 24 Sep 2008 20:20:57 +0000 (22:20 +0200)]
tg update: Fix resume message
Petr Baudis [Wed, 24 Sep 2008 17:03:29 +0000 (19:03 +0200)]
tg depend add: Add dependency
Petr Baudis [Mon, 22 Sep 2008 16:58:57 +0000 (18:58 +0200)]
tg delete: Fix spurious output
Petr Baudis [Mon, 22 Sep 2008 16:52:57 +0000 (18:52 +0200)]
tg export: Fix exporting remote-based branches
Petr Baudis [Mon, 22 Sep 2008 15:46:38 +0000 (17:46 +0200)]
tg mail: Simplify array usage
Petr Baudis [Mon, 22 Sep 2008 15:44:49 +0000 (17:44 +0200)]
tg mail: Tidyup
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>
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>
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>
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>
Petr Baudis [Mon, 22 Sep 2008 15:28:26 +0000 (17:28 +0200)]
Ignore vim swp files
Petr Baudis [Mon, 22 Sep 2008 15:24:25 +0000 (17:24 +0200)]
tg info, tg patch: Work on top-base HEAD too
Petr Baudis [Mon, 22 Sep 2008 10:48:40 +0000 (12:48 +0200)]
tg info: Carry over missing Subject line in topmsg
Petr Baudis [Sun, 14 Sep 2008 19:01:05 +0000 (21:01 +0200)]
tg remote README: Add 'git push --all' caveat warning
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
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.
Petr Baudis [Fri, 12 Sep 2008 14:21:56 +0000 (16:21 +0200)]
tg import: Require clean working tree and index
Petr Baudis [Fri, 12 Sep 2008 11:11:48 +0000 (13:11 +0200)]
Makefile: Changing Makefile means executables need to be regenerated too
Petr Baudis [Wed, 10 Sep 2008 15:32:09 +0000 (17:32 +0200)]
.gitignore: Add tg-import, tg-remote
Noticed by Bert Wesarg.
Petr Baudis [Wed, 10 Sep 2008 15:30:35 +0000 (17:30 +0200)]
tg.sh: Typo fix (incanation -> incantation)
Petr Baudis [Tue, 9 Sep 2008 22:48:56 +0000 (00:48 +0200)]
TopGit-0.3
Petr Baudis [Tue, 9 Sep 2008 22:48:24 +0000 (00:48 +0200)]
README: Remove stale TODO
Petr Baudis [Tue, 9 Sep 2008 22:47:15 +0000 (00:47 +0200)]
Merge branch 'tg-import'
Petr Baudis [Tue, 9 Sep 2008 22:37:41 +0000 (00:37 +0200)]
tg import: Make the progress reporting stand out more
Petr Baudis [Tue, 9 Sep 2008 22:35:48 +0000 (00:35 +0200)]
branch_contains(): More explicit call to git rev-list
Petr Baudis [Tue, 9 Sep 2008 22:32:44 +0000 (00:32 +0200)]
tg import: Fix up process_commit() progress reporting
Petr Baudis [Tue, 9 Sep 2008 22:31:17 +0000 (00:31 +0200)]
tg import -p PREFIX: Custom prefix instead of t/
Petr Baudis [Tue, 9 Sep 2008 22:29:24 +0000 (00:29 +0200)]
tg create -r BRANCH: Create branch based on a remote one
Petr Baudis [Tue, 9 Sep 2008 22:11:47 +0000 (00:11 +0200)]
README: Add synopsis for working with remotes
Petr Baudis [Tue, 9 Sep 2008 22:06:44 +0000 (00:06 +0200)]
tg import: Change default prefix from tp/ to t/
Petr Baudis [Tue, 9 Sep 2008 22:06:14 +0000 (00:06 +0200)]
tg import: Remove tg_ prefixes from functions
Petr Baudis [Tue, 9 Sep 2008 22:05:39 +0000 (00:05 +0200)]
tg import: Standard options parsing
Petr Baudis [Tue, 9 Sep 2008 22:03:16 +0000 (00:03 +0200)]
tg import: Standard script header
Petr Baudis [Tue, 9 Sep 2008 22:01:54 +0000 (00:01 +0200)]
tg import: Better description
Aneesh Kumar K.V [Wed, 13 Aug 2008 15:15:11 +0000 (20:45 +0530)]
topgit: Implement tg-import
This can be used to import a set of commits
between range specified by range1..range2
This should help us to convert an already
existing quilt, stgit branches to topgit
managed one
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com>
Petr Baudis [Tue, 9 Sep 2008 20:21:59 +0000 (22:21 +0200)]
Account for direct-tg arguments in Usage strings
Petr Baudis [Tue, 9 Sep 2008 20:19:23 +0000 (22:19 +0200)]
Fix recursive tg calls: Pass tg parameters through properly
Petr Baudis [Tue, 9 Sep 2008 20:18:23 +0000 (22:18 +0200)]
tg summary: Fix spurious errors on tg-inconsistent remotes
Petr Baudis [Tue, 9 Sep 2008 20:02:07 +0000 (22:02 +0200)]
tg -r REMOTE: Support for switching base remote
Petr Baudis [Tue, 9 Sep 2008 19:55:55 +0000 (21:55 +0200)]
tg summary: Mark current branch with '>'
Petr Baudis [Tue, 9 Sep 2008 19:53:10 +0000 (21:53 +0200)]
tg info: Note if local head is ahead of remote mate
Petr Baudis [Tue, 9 Sep 2008 19:51:48 +0000 (21:51 +0200)]
tg summary: 'L' denotes that push will update remote mate
Petr Baudis [Tue, 9 Sep 2008 19:49:07 +0000 (21:49 +0200)]
tg summary: Show info about remote mates
Petr Baudis [Tue, 9 Sep 2008 19:42:46 +0000 (21:42 +0200)]
tg info: Asterisk-prefix 'out-of-band' warnings
Petr Baudis [Tue, 9 Sep 2008 19:41:55 +0000 (21:41 +0200)]
tg info: Show information about remote branches
Petr Baudis [Tue, 9 Sep 2008 19:38:23 +0000 (21:38 +0200)]
has_remote(): Introduce to check if branch has remote counterpart
Petr Baudis [Tue, 9 Sep 2008 19:33:55 +0000 (21:33 +0200)]
tg update: Support updating from remote branches
Currently, we only ever check against the base remote.
Petr Baudis [Tue, 9 Sep 2008 19:28:48 +0000 (21:28 +0200)]
recurse_deps+branch_needs_update(): Deal with remote branches
In case base needs update against remote base, the remote base ref
is reported. In case head needs update against remote head, the '%'
symbol (akin to ':') is reported.
Petr Baudis [Tue, 9 Sep 2008 19:28:09 +0000 (21:28 +0200)]
tg.sh: Set $base_remote to topgit.remote config value
Petr Baudis [Tue, 9 Sep 2008 18:58:19 +0000 (20:58 +0200)]
Factor out rev-parse --verify calls to new ref_exists() function
Petr Baudis [Tue, 9 Sep 2008 18:50:15 +0000 (20:50 +0200)]
tg-update.sh: Better explain base update
Petr Baudis [Mon, 1 Sep 2008 00:33:47 +0000 (02:33 +0200)]
tg remote: New command
Register TopGit-aware remote, populate local branches from one.
Petr Baudis [Mon, 1 Sep 2008 00:30:47 +0000 (02:30 +0200)]
tg summary: Fix confusing variable name
Petr Baudis [Sun, 31 Aug 2008 17:30:14 +0000 (19:30 +0200)]
README: Sketch of my current ideas on remotes handling
martin f. krafft [Tue, 12 Aug 2008 01:41:11 +0000 (22:41 -0300)]
Add various todos/wishlists
[pb: Trim down and expand]
Signed-off-by: martin f. krafft <madduck@debian.org>
martin f. krafft [Tue, 12 Aug 2008 01:26:20 +0000 (22:26 -0300)]
Add tg-export to gitignore
Signed-off-by: martin f. krafft <madduck@debian.org>