chiark / gitweb /
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>
Bert Wesarg [Wed, 13 Aug 2008 07:11:15 +0000 (09:11 +0200)]
Makefile: Use $(wildcard) for commands_in
To prevent merge conflicts while adding new commands, use a wildcard for
the command list.
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
David Brown [Thu, 14 Aug 2008 05:15:45 +0000 (22:15 -0700)]
Force adding the .topmsg and .topdep files.
If the .gitignore in effect is ignoring the .topmsg and .topdeps
files, tg create will fail trying to add these files. Add the
'-f option to these add commands to force the files to be added
anyway.
Signed-off-by: David Brown <git@davidb.org>
Jonathan Nieder [Wed, 13 Aug 2008 05:16:33 +0000 (00:16 -0500)]
tg-info: fix sed typo
There was a semicolon missing before a closing brace. The result
is an error message on some operating systems (e.g., Mac OS 10.3).
$ tg info
Topic Branch: t/some-topic ( 2/ 2 commits)
Subject: [PATCH] t/some-topic
Base:
082a7c9
sed: 1: "1{s/^/Depends: /;n}; s/ ...": extra characters a
t the end of n command
Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
Jonathan Nieder [Wed, 13 Aug 2008 00:17:22 +0000 (19:17 -0500)]
supply template argument to mktemp
mktemp versions before 1.5 did not allow omitting the template
(prefix.XXXXXX) argument. Thus on Mac OS X,
$ mktemp -d
usage: mktemp [-d] [-q] [-t prefix] [-u] template ...
mktemp [-d] [-q] [-u] -t prefix
So supply a filename template. To maintain the intended
behavior, we have to add -t, too. It was implied before.
Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
Jan Nieuwenhuizen [Tue, 12 Aug 2008 12:54:30 +0000 (14:54 +0200)]
TOPGIT: [PATCH] Use standard prefix and DESTDIR rather than explain
An install nitpick.
Signed-off-by: Jan Nieuwenhuizen <janneke@gnu.org>
Petr Baudis [Tue, 12 Aug 2008 17:35:54 +0000 (19:35 +0200)]
tg create: Set up refs/top-bases/ after conflict resolution
This has two reasons:
(i) In case of aborted operation, no junk is left over.
(ii) In older Git versions, git checkout -b errors out on detached HEAD.
Reported by Jan Holesovsky.
Petr Baudis [Tue, 12 Aug 2008 16:19:20 +0000 (18:19 +0200)]
tg-export: Ensure we don't overwrite a branch by git update-ref
Petr Baudis [Mon, 11 Aug 2008 22:54:03 +0000 (00:54 +0200)]
TopGit-0.2
Petr Baudis [Mon, 11 Aug 2008 22:06:38 +0000 (00:06 +0200)]
tg export: Print progress messages _before_ the action
Petr Baudis [Mon, 11 Aug 2008 22:05:43 +0000 (00:05 +0200)]
tg export: Support --quilt for exporting to quilt series
Petr Baudis [Mon, 11 Aug 2008 17:31:01 +0000 (19:31 +0200)]
tg update: Do not use ${:n:m} substitution (bash extension)
Petr Baudis [Mon, 11 Aug 2008 17:14:25 +0000 (19:14 +0200)]
tg export: Really remove TopGit metadata files when exporting
Petr Baudis [Mon, 11 Aug 2008 17:14:03 +0000 (19:14 +0200)]
README: tg collapse is already implemented (as tg export)
Petr Baudis [Mon, 11 Aug 2008 16:59:52 +0000 (18:59 +0200)]
tg.sh: Avoid use of non-SUS 'echo -e'
Petr Baudis [Sun, 10 Aug 2008 20:30:15 +0000 (22:30 +0200)]
tg-export: New command for cleaning up history
Petr Baudis [Sun, 10 Aug 2008 20:01:06 +0000 (22:01 +0200)]
recurse_deps(): Call itself, not needs_update(), recursively
Petr Baudis [Sun, 10 Aug 2008 19:59:43 +0000 (21:59 +0200)]
branch_needs_update(): Fox branch_contains call: $1 -> $_name
Petr Baudis [Sun, 10 Aug 2008 19:59:05 +0000 (21:59 +0200)]
measure_branch(): Use _bname instead of _name local variable
Petr Baudis [Sun, 10 Aug 2008 18:37:18 +0000 (20:37 +0200)]
recurse_deps(): _-prefix $depsfile
Petr Baudis [Sun, 10 Aug 2008 18:33:23 +0000 (20:33 +0200)]
needs_update(): Split to recurse_deps() and branch_needs_update() helpers
Antonio Ospite [Sat, 9 Aug 2008 00:58:22 +0000 (02:58 +0200)]
tg.sh: Add -h, --help aliases for the help command
I added some more help switches, I had to read the code to find the 'help'
command because the usual --help and -h didn't worked.
Signed-off-by: Antonio Ospite <ao2@openezx.org>
Signed-off-by: Petr Baudis <pasky@suse.cz>
Bert Wesarg [Fri, 8 Aug 2008 06:43:17 +0000 (08:43 +0200)]
tg.sh: it's info/attributes not info/gitattributes
The merge attribute hasn't any effect, because the wrong attribute file was
used.
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Petr Baudis <pasky@suse.cz>
Bert Wesarg [Thu, 7 Aug 2008 16:39:15 +0000 (18:39 +0200)]
Makefile: mkdir $(bindir)
Mkdir $(bindir) in install target.
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Petr Baudis <pasky@suse.cz>
Bert Wesarg [Wed, 6 Aug 2008 08:02:51 +0000 (10:02 +0200)]
tg.sh: Check for read permissions of help files
We currently check only for '-f' but we need to have read permissions as well.
And help files don't need the execution bit set.
[pb: Simplified test.]
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Petr Baudis <pasky@suse.cz>
Bert Wesarg [Wed, 6 Aug 2008 07:49:24 +0000 (09:49 +0200)]
tg.sh: Runtime tg-* command check
Check for tg commands at runtime, not the hard coded list inside tg.sh.
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Petr Baudis <pasky@suse.cz>
Russell Steicke [Wed, 6 Aug 2008 02:43:48 +0000 (10:43 +0800)]
Pretty print the help creation commands in Makefile.
Print "[HELP] cmdname" while compiling the tg-cmdname.txt files.
Signed-off-by: Russell Steicke <russellsteicke@gmail.com>
Signed-off-by: Petr Baudis <pasky@suse.cz>
Petr Baudis [Tue, 5 Aug 2008 22:31:21 +0000 (00:31 +0200)]
create-help.sh: Fix 'tg update' generated help text
Russell Steicke [Mon, 4 Aug 2008 12:21:21 +0000 (20:21 +0800)]
Make "tg help cmd" print cmd help
"tg help" looked like it needed help, and stuff it needed to know
about was already in README.
Use awk to extract help information from the README file. Store
the help files in $(PREFIX)/share/topgit. "tg help foo" will cat
$(PREFIX)/share/topgit/tg-foo.txt.
Signed-off-by: Russell Steicke <russellsteicke@gmail.com>
Bert Wesarg [Tue, 5 Aug 2008 11:19:07 +0000 (13:19 +0200)]
tg-info: pretty print dependencies
Print one dependency per line in tg-info output.
[pb: Simplified implementation.]
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Petr Baudis <pasky@suse.cz>