gitweb.git
Fix behaviour if you have a branch named the same as... Avery Pennarun Wed, 26 Aug 2009 14:43:43 +0000 (10:43 -0400)

Fix behaviour if you have a branch named the same as your --prefix

We were trying to 'git checkout $prefix', which is ambiguous if $prefix
names a directory *and* a branch. Do 'git checkout -- $prefix' instead.

The main place this appeared was in 'git subtree add'.

Reported by several people.

Improve patch to use git --exec-path: add to PATH instead.Avery Pennarun Wed, 26 Aug 2009 14:41:03 +0000 (10:41 -0400)

Improve patch to use git --exec-path: add to PATH instead.

If you (like me) are using a modified git straight out of its source
directory (ie. without installing), then --exec-path isn't actually correct.
Add it to the PATH instead, so if it is correct, it'll work, but if it's
not, we fall back to the previous behaviour.

Add explicit path of git installation by 'git --exec... kTln2 Thu, 20 Aug 2009 11:30:45 +0000 (13:30 +0200)

Add explicit path of git installation by 'git --exec-path'.

As pointed out by documentation, the correct use of 'git-sh-setup' is
using $(git --exec-path) to avoid problems with not standard
installations.

Signed-off-by: gianluca.pacchiella <pacchiel@studenti.ph.unito.it>

sort assertion to make it more genericAmiel Martin Wed, 12 Aug 2009 22:38:00 +0000 (15:38 -0700)

sort assertion to make it more generic

fixed order of assertion in testsAmiel Martin Wed, 12 Aug 2009 22:24:50 +0000 (15:24 -0700)

fixed order of assertion in tests

todo: idea for a 'git subtree grafts' commandAvery Pennarun Sun, 2 Aug 2009 21:48:20 +0000 (17:48 -0400)

todo: idea for a 'git subtree grafts' command

todoAvery Pennarun Sat, 1 Aug 2009 05:19:48 +0000 (01:19 -0400)

todo

todo^Avery Pennarun Thu, 16 Jul 2009 18:31:50 +0000 (14:31 -0400)

todo^

todoAvery Pennarun Fri, 10 Jul 2009 19:14:33 +0000 (15:14 -0400)

todo

Docs: when pushing to github, the repo path needs to... Avery Pennarun Thu, 9 Jul 2009 00:17:31 +0000 (20:17 -0400)

Docs: when pushing to github, the repo path needs to end in .git

Reported by Thell Fowler.

todoAvery Pennarun Tue, 7 Jul 2009 21:41:38 +0000 (17:41 -0400)

todo

Some todo items reported by pmccurdyAvery Pennarun Thu, 2 Jul 2009 16:39:48 +0000 (12:39 -0400)

Some todo items reported by pmccurdy

update todoAvery Pennarun Mon, 15 Jun 2009 18:12:40 +0000 (14:12 -0400)

update todo

man page: add an EXAMPLES section.Avery Pennarun Sat, 30 May 2009 18:24:31 +0000 (14:24 -0400)

man page: add an EXAMPLES section.

Add basic git-subtree manpage in asciidoc format.Avery Pennarun Sat, 30 May 2009 18:05:33 +0000 (14:05 -0400)

Add basic git-subtree manpage in asciidoc format.

Make --squash work with the 'add' command too.Avery Pennarun Sat, 30 May 2009 08:11:43 +0000 (04:11 -0400)

Make --squash work with the 'add' command too.

Fix splitting after using a squash merge.Avery Pennarun Sat, 30 May 2009 07:33:39 +0000 (03:33 -0400)

Fix splitting after using a squash merge.

Don't squash-merge if the old and new commits are the... Avery Pennarun Sat, 30 May 2009 07:33:17 +0000 (03:33 -0400)

Don't squash-merge if the old and new commits are the same.

Basic "subtree merge --squash" support.Avery Pennarun Sat, 30 May 2009 07:18:27 +0000 (03:18 -0400)

Basic "subtree merge --squash" support.

Instead of merging in the history of the entire subproject, just squash it
all into one commit, but try to at least track which commits we used so that
we can do future merges correctly.

Bonus feature: we can actually switch branches of the subproject this way,
just by "squash merging" back and forth from one tag to another.

merge_msg() is really more like rejoin_msg().Avery Pennarun Sat, 30 May 2009 05:28:20 +0000 (01:28 -0400)

merge_msg() is really more like rejoin_msg().

FIXME help for --squash optionAvery Pennarun Sat, 30 May 2009 04:48:07 +0000 (00:48 -0400)

FIXME help for --squash option

slightly rearrange help message for split.Avery Pennarun Sat, 30 May 2009 05:10:14 +0000 (01:10 -0400)

slightly rearrange help message for split.

New --branch option to split command.Avery Pennarun Sat, 30 May 2009 05:05:43 +0000 (01:05 -0400)

New --branch option to split command.

This is just a handy way to create a new branch from the newly-split subtree.

typo in commentAvery Pennarun Sat, 30 May 2009 04:47:59 +0000 (00:47 -0400)

typo in comment

More to-do items based on feedbackAvery Pennarun Sun, 24 May 2009 19:28:54 +0000 (15:28 -0400)

More to-do items based on feedback

Abort if --rejoin fails.Avery Pennarun Fri, 1 May 2009 01:57:32 +0000 (21:57 -0400)

Abort if --rejoin fails.

Thanks to Eduardo Kienetz for noticing this.

debug messages are off by default; use -d to enable.Avery Pennarun Sun, 26 Apr 2009 22:06:08 +0000 (18:06 -0400)

debug messages are off by default; use -d to enable.

Instead of debug messages, we print a progress counter to stderr.

test.sh: oops, never intended to count the raw number... Avery Pennarun Sun, 26 Apr 2009 22:05:49 +0000 (18:05 -0400)

test.sh: oops, never intended to count the raw number of commits.

Just needed to make sure the count was non-zero.

Simplify merges even more aggressively.Avery Pennarun Sun, 26 Apr 2009 21:44:18 +0000 (17:44 -0400)

Simplify merges even more aggressively.

If any one of the parents is the same as the current one, then clearly the
other parent branch isn't important, so throw it away entirely.

Can't remember why I didn't do this before, but if I rediscover it, it
definitely needs a unit test.

test.sh: make sure no commit changes more than one... Avery Pennarun Sun, 26 Apr 2009 21:43:53 +0000 (17:43 -0400)

test.sh: make sure no commit changes more than one file at a time.

Only copy a commit if it has at least one nonidentical... Avery Pennarun Sun, 26 Apr 2009 21:07:16 +0000 (17:07 -0400)

Only copy a commit if it has at least one nonidentical parent.

This is a simplification of the previous logic. I don't *think* it'll break
anything.

Results in far fewer useless merge commmits when playing with gitweb in the
git project:

git subtree split --prefix=gitweb --annotate='(split) ' 0a8f4f0^^..f2e7330
--onto=1130ef3

...and it doesn't *seem* to eliminate anything important.

Trim some extra merge commits that don't need to go... Avery Pennarun Sun, 26 Apr 2009 20:53:57 +0000 (16:53 -0400)

Trim some extra merge commits that don't need to go into the split tree.

...and update test.sh to test for this.

test.sh tweakAvery Pennarun Sun, 26 Apr 2009 20:33:38 +0000 (16:33 -0400)

test.sh tweak

Add some basic assertions to test.sh.Avery Pennarun Sun, 26 Apr 2009 20:28:56 +0000 (16:28 -0400)

Add some basic assertions to test.sh.

Add a 'create' helper function in test.sh.Avery Pennarun Sun, 26 Apr 2009 19:55:56 +0000 (15:55 -0400)

Add a 'create' helper function in test.sh.

Clarify why we can't do 'git rev-list' with a path.Avery Pennarun Sun, 26 Apr 2009 19:54:42 +0000 (15:54 -0400)

Clarify why we can't do 'git rev-list' with a path.

Typo when searching for existing splits.Avery Pennarun Sun, 26 Apr 2009 13:55:59 +0000 (09:55 -0400)

Typo when searching for existing splits.

Add --annotate option, and create recognizable file... Avery Pennarun Sun, 26 Apr 2009 12:59:12 +0000 (08:59 -0400)

Add --annotate option, and create recognizable file content during tests.

todo listAvery Pennarun Sun, 26 Apr 2009 12:53:14 +0000 (08:53 -0400)

todo list

Change test.sh to test the new add, merge, and pull... Avery Pennarun Sat, 25 Apr 2009 04:07:04 +0000 (00:07 -0400)

Change test.sh to test the new add, merge, and pull commands.

Handle it successfully if a given parent commit has... Avery Pennarun Sat, 25 Apr 2009 04:06:45 +0000 (00:06 -0400)

Handle it successfully if a given parent commit has no parents.

Add 'git subtree merge' and 'git subtree pull'.Avery Pennarun Sat, 25 Apr 2009 03:41:19 +0000 (23:41 -0400)

Add 'git subtree merge' and 'git subtree pull'.

These are simple shortcuts for 'git merge -s subtree' and 'git pull -s
subtree', but it makes sense to have it all in one command.

Add a new 'git subtree add' command for adding subtrees... Avery Pennarun Sat, 25 Apr 2009 03:28:30 +0000 (23:28 -0400)

Add a new 'git subtree add' command for adding subtrees from a given rev.

Pass the path using the --prefix option instead of... Avery Pennarun Sat, 25 Apr 2009 02:57:14 +0000 (22:57 -0400)

Pass the path using the --prefix option instead of on the command line.

I like this better. It's more like git-read-tree and some other commands.

Okay, that was a little too aggressive.Avery Pennarun Sat, 25 Apr 2009 02:36:06 +0000 (22:36 -0400)

Okay, that was a little too aggressive.

Now we only prune out a commit if it has exactly one remaining parent and
that parent's tree is identical to ours.

But I also changed the test to create the initial "-s ours" merge in one
step instead of two, and that merge can be eliminated since one of its
parents doesn't affect the subdir at all, and is thus deleted.

Even more aggressive commit trimming.Avery Pennarun Sat, 25 Apr 2009 02:05:30 +0000 (22:05 -0400)

Even more aggressive commit trimming.

Now we cut out a commit if any of its parents had the same tree; just use
that parent in its place. This makes the history look nice, but I don't
think it's quite right...

Prune out some extra merge commits by comparing their... Avery Pennarun Sat, 25 Apr 2009 01:49:19 +0000 (21:49 -0400)

Prune out some extra merge commits by comparing their parents correctly.

Quick test script for generating reasonably complex... Avery Pennarun Sat, 25 Apr 2009 01:35:50 +0000 (21:35 -0400)

Quick test script for generating reasonably complex merge scenarios.

Skip over empty commits.Avery Pennarun Fri, 24 Apr 2009 21:53:10 +0000 (17:53 -0400)

Skip over empty commits.

But we still need to get rid of unnecessary merge commits somehow...

Hmm... can't actually filter rev-list on the subdir... Avery Pennarun Fri, 24 Apr 2009 21:42:33 +0000 (17:42 -0400)

Hmm... can't actually filter rev-list on the subdir name.

Otherwise we can't keep track of parent relationships. Argh.

This change makes it "work", but we get a bunch of empty commits.

Added a --onto option, but it's so complicated I can... Avery Pennarun Fri, 24 Apr 2009 21:05:14 +0000 (17:05 -0400)

Added a --onto option, but it's so complicated I can't tell if it works.

Use information about prior splits to make sure merges... Avery Pennarun Fri, 24 Apr 2009 20:48:08 +0000 (16:48 -0400)

Use information about prior splits to make sure merges work right.

Add a new --rejoin option.Avery Pennarun Fri, 24 Apr 2009 19:48:41 +0000 (15:48 -0400)

Add a new --rejoin option.

The idea is to join the new split branch back into this one, so future
splits can append themselves to the old split branch. We mark the split
branch's history in our merge commit, so we can pull it back out later.

Print out the newly created commitid at the end, for... Avery Pennarun Fri, 24 Apr 2009 18:52:27 +0000 (14:52 -0400)

Print out the newly created commitid at the end, for use in other scripts.

We now copy the other stuff about a commit (changelog... Avery Pennarun Fri, 24 Apr 2009 18:45:02 +0000 (14:45 -0400)

We now copy the other stuff about a commit (changelog, author, etc).

'git subtree split' now basically works.Avery Pennarun Fri, 24 Apr 2009 18:24:38 +0000 (14:24 -0400)

'git subtree split' now basically works.

basic options parsing and whatnot.Avery Pennarun Fri, 24 Apr 2009 18:13:34 +0000 (14:13 -0400)

basic options parsing and whatnot.