Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH] Add --unannotate option to git-subtree

From: James Nylen <hidden>
Date: 2016-06-15 22:55:48

On Mon, Dec 31, 2012 at 8:15 PM,  [off-list ref] wrote:
James Nylen [off-list ref] writes:
quoted
Rather than adding a marker to each commit when splitting out the
commits back to the subproject, --unannotate removes the specified
string (or bash glob pattern) from the beginning of the first line of
the commit message.  This enables the following workflow:
I applied the patch to my working copy but it doesn't seem to do
what I'd expect.  The test script does something like this:

- create project A
- add file to project A with message "subproj: add F1"
- add file to project A with message "subproj: add F2"
- add project A as a subtree of project B under directory subdir
- add a file to subdir with message "subproj: add F3"
- do a split --unannotate="subproj:"

I expected to see a log with no mention of "subproj" anywhere.  Instead
I get:

add F3
subproj: add F2
subproj: add F1

Is this as you intend?  Is --unannotate only supposed to strip the
string for commits added when A was a subtree of B?

I guess this behavior makes sense in that the user would want to
see the same commits that existed before A became a subproject.

                   -David
Wow, I missed a bunch of emails on this.  Thanks for applying and for
writing tests!

This is as intended.  You wouldn't want subtree to modify commits that
occurred in the full repository for project A.  Furthermore, you
wouldn't have a "subproj:" commit in project A's standalone repo since
it wasn't a subproject at that time.

The --annotate option confused me because it was the reverse of what I
wanted.  As in your example, a typical use would be 'add a file to
subdir with message "subproj: add F3" ' to make it clear that you were
committing to the "subproj" part of a larger repository.  Then, when
splitting back out to subproj's main repository, you'd want to remove
the prefix.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help