Re: [PATCH] user-manual: remove temporary branch entry from todo list

2015-12-28 Thread Junio C Hamano
Stephen & Linda Smith writes: > I will rework the patch using the above analysis in the commit message. Of > course I will rewrite for readability. Thanks. Will apply. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to

Charity/Donation

2015-12-28 Thread Jeff Skoll
Hi, My name is Jeffrey Skoll, a philanthropist and the founder of one of the largest private foundations in the world. I believe strongly in ‘giving while living.’ I had one idea that never changed in my mind — that you should use your wealth to help people and I have decided to secretly give

Issue when changing staged files in a pre-commit hook

2015-12-28 Thread Niek van der Kooy
I am having an issue where the default commit message is not changed when adding staged files in a pre-commit hook. Please see http://stackoverflow.com/questions/34492779/git-update-git-status-part-of-commit-message-after-pre-commit-hook for details. Is there a workaround / proper way to achieve

[PATCH/RFC v2 0/2] add regex match flags to git describe

2015-12-28 Thread Mostyn Bramley-Moore
git describe currently only supports glob matching with the --matches flag. It would be useful to support regular expressions. For consistency, this uses the same regex flags as those used by git-grep. Some old discussion of this as a candidate feature is here, though nobody put together a patch

[PATCH/RFC v2 2/2] describe: add basic and extended posix regex matching for completeness

2015-12-28 Thread Mostyn Bramley-Moore
Signed-off-by: Mostyn Bramley-Moore --- Documentation/git-describe.txt | 6 ++ builtin/describe.c | 41 + t/t6120-describe.sh| 14 ++ 3 files changed, 61 insertions(+) diff --git

[PATCH/RFC v2 1/2] describe: add option to use perl-compatible regexes with --match

2015-12-28 Thread Mostyn Bramley-Moore
This allows more flexible pattern matching than the default globs. Signed-off-by: Mostyn Bramley-Moore --- Documentation/git-describe.txt | 15 +-- builtin/describe.c | 90 +- t/README | 3 +-

Re: [PATCH 3/4] create_symref: modernize variable names

2015-12-28 Thread Michael Haggerty
On 12/20/2015 08:29 AM, Jeff King wrote: > Once upon a time, create_symref() was used only to point > HEAD at a branch name, and the variable names reflect that > (e.g., calling the path git_HEAD). However, it is much more > generic these days (and has been for some time). Let's > update the

Re: [PATCH 4/4] create_symref: use existing ref-lock code

2015-12-28 Thread Michael Haggerty
On 12/20/2015 08:34 AM, Jeff King wrote: > The create_symref() function predates the existence of > "struct lock_file", let alone the more recent "struct > ref_lock". Instead, it just does its own manual dot-locking. > Besides being more code, this has a few downsides: > > - if git is

Re: [PATCH] user-manual: remove temporary branch entry from todo list

2015-12-28 Thread Junio C Hamano
Stephen & Linda Smith writes: > I think that this is a stale todo. > > The only place there is a mention of temporary branches (which is > then parenthetically called a topic branch) is in relation to how > Tony Luck organizes his work. Additionally there is already a >

Re: [PATCH 1/6] blame: remove obsolete comment

2015-12-28 Thread Junio C Hamano
Nguyễn Thái Ngọc Duy writes: > That "someday" in the comment happened two years later in > b65982b (Optimize "diff-index --cached" using cache-tree - 2009-05-20) > > Signed-off-by: Nguyễn Thái Ngọc Duy > --- Thanks. > builtin/blame.c | 5 - > 1 file

[PATCH] notes: allow merging from arbitrary references

2015-12-28 Thread Jacob Keller
From: Jacob Keller Create a new expansion function, expand_loose_notes_ref which will first check whether the ref can be found using get_sha1. If it can't be found then it will fallback to using expand_notes_ref. The content of the strbuf will not be changed if the notes

[GIT PULL] l10n updates for Git 2.7.0

2015-12-28 Thread Jiang Xin
Hi Junio, The following changes since commit 1d88dab47aaa32d134b9bfe1cda09f1b55528b24: Update release notes to 2.7 (2015-12-21 11:08:20 -0800) are available in the git repository at: git://github.com/git-l10n/git-po tags/l10n-2.7.0-rnd2 for you to fetch changes up to

Re: [PATCH 2/6] Add and use convenient macro ce_intent_to_add()

2015-12-28 Thread Junio C Hamano
Looks good; thanks. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [RFC] git-send-email: do not double-escape quotes from mutt

2015-12-28 Thread Junio C Hamano
Eric Wong writes: > - # commas delimit multiple addresses > - $aliases{$alias} = [ split_addrs($addr) ]; > + # commas delimit multiple addresses > + my @addr = split_addrs($addr); > + > +

Re: [PATCH V4 2/2] user-manual: add section documenting shallow clones

2015-12-28 Thread Junio C Hamano
"Stephen P. Smith" writes: > Rather than merely pointing readers at the 1.5 release notes to > learn about shallow clones, document them formally. > > Signed-off-by: Stephen P. Smith > --- > > I replaced the paragraphs that I wrote with Eric Shunshine's since

Re: [PATCH 4/6] apply: make sure check_preimage() does not leave empty file on error

2015-12-28 Thread Junio C Hamano
Nguyễn Thái Ngọc Duy writes: > diff --git a/t/t2203-add-intent.sh b/t/t2203-add-intent.sh > index bb5ef2b..96c8755 100755 > --- a/t/t2203-add-intent.sh > +++ b/t/t2203-add-intent.sh > @@ -95,5 +95,21 @@ test_expect_success 'apply adds new file on i-t-a entry' ' > ) > '

Re: [PATCH 6/6] grep: make it clear i-t-a entries are ignored

2015-12-28 Thread Junio C Hamano
This one looks correct. I'll pick the obviously correct pieces (1, 2, and 6) from this series, as they are pretty-much independent, and discard the rest for now. Thanks. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More

Re: [PATCH] dir.c: clean the entire struct in clear_exclude_list()

2015-12-28 Thread Junio C Hamano
Nguyễn Thái Ngọc Duy writes: > Make sure "el" can be reuseable again. The problem was el->alloc is > not cleared and may cause segfaults next time because add_exclude() > thinks el->excludes (being NULL) has enough space. Just clear the > entire struct to be safe. OK. If

Re: [PATCH/RFC v2 0/2] add regex match flags to git describe

2015-12-28 Thread Junio C Hamano
Mostyn Bramley-Moore writes: > git describe currently only supports glob matching with the --matches flag. > It would be useful to support regular expressions. > > For consistency, this uses the same regex flags as those used by git-grep. > > Some old discussion of this as a

[PATCH V2] user-manual: remove temporary branch entry from todo list

2015-12-28 Thread Stephen P. Smith
In the section on "How to check out a differnet version of a project" the "new" branch is used as a temporary branch. A detached HEAD was not used since it was a new feature introduced just a couple weeks prior. The section could be changed to use and explain a detached HEAD, except that would

Re: [PATCH] user-manual: remove temporary branch entry from todo list

2015-12-28 Thread Stephen & Linda Smith
On Monday, December 28, 2015 09:29:13 AM Junio C Hamano wrote: > Stephen & Linda Smith writes: > > > I think that this is a stale todo. > > > > The only place there is a mention of temporary branches (which is > > then parenthetically called a topic branch) is in relation

Re: [PATCH v2] l10n: de.po: translate 68 new messages

2015-12-28 Thread Matthias Rüster
Hi Ralf, #: builtin/submodule--helper.c:273 msgid "fatal: submodule--helper subcommand must be called with a subcommand" -msgstr "" +msgstr "fatal: submodule-helper muss mit einem Unterkommando aufgerufen werden" #: builtin/submodule--helper.c:280 #, c-format msgid "fatal: '%s' is

Re: [PATCH 5/6] checkout(-index): do not checkout i-t-a entries

2015-12-28 Thread Junio C Hamano
Nguyễn Thái Ngọc Duy writes: > diff --git a/builtin/checkout-index.c b/builtin/checkout-index.c > index 9ca2da1..d9fe8f4 100644 > --- a/builtin/checkout-index.c > +++ b/builtin/checkout-index.c > @@ -48,6 +48,7 @@ static int checkout_file(const char *name, const char >

Re: [RFC] git-send-email: do not double-escape quotes from mutt

2015-12-28 Thread Eric Wong
Junio C Hamano wrote: > Eric Wong writes: > > > -# commas delimit multiple addresses > > - $aliases{$alias} = [ split_addrs($addr) ]; > > + # commas delimit multiple addresses > > +

Re: [PATCH 3/4] create_symref: modernize variable names

2015-12-28 Thread Jeff King
On Mon, Dec 28, 2015 at 09:20:42AM +0100, Michael Haggerty wrote: > On 12/20/2015 08:29 AM, Jeff King wrote: > > Once upon a time, create_symref() was used only to point > > HEAD at a branch name, and the variable names reflect that > > (e.g., calling the path git_HEAD). However, it is much more

Re: [RFC/PATCH 4/3] create_symref: drop support for writing symbolic links

2015-12-28 Thread Jeff King
On Tue, Dec 29, 2015 at 01:00:55AM -0500, Jeff King wrote: > --- a/refs/files-backend.c > +++ b/refs/files-backend.c > @@ -2811,21 +2811,6 @@ static int commit_ref_update(struct ref_lock *lock, > return 0; > } > > -static int create_ref_symlink(struct ref_lock *lock, const char *target)

Re: [PATCH] notes: allow merging from arbitrary references

2015-12-28 Thread Jacob Keller
On Mon, Dec 28, 2015 at 3:42 PM, Junio C Hamano wrote: > Jacob Keller writes: > >> From: Jacob Keller >> >> Create a new expansion function, expand_loose_notes_ref which will first >> check whether the ref can be found using

Re: [PATCH 4/4] create_symref: use existing ref-lock code

2015-12-28 Thread Jeff King
On Mon, Dec 28, 2015 at 10:45:19AM +0100, Michael Haggerty wrote: > > +static int create_ref_symlink(struct ref_lock *lock, const char *target) > [...] > > + char *ref_path = get_locked_file_path(lock->lk); > > + unlink(ref_path); > > + ret = symlink(target, ref_path); > [...] > > This

[RFC/PATCH 4/3] create_symref: drop support for writing symbolic links

2015-12-28 Thread Jeff King
I'm iffy on this one, just because it drops a user-visible feature with no deprecation. For the reasons given below, I doubt anybody is using it for the original intended purpose, but maybe there is some crazy person whose workflow revolves around core.preferSymlinkRefs. A conservative choice

[PATCH 2/3] create_symref: use existing ref-lock code

2015-12-28 Thread Jeff King
The create_symref() function predates the existence of "struct lock_file", let alone the more recent "struct ref_lock". Instead, it just does its own manual dot-locking. Besides being more code, this has a few downsides: - if git is interrupted while holding the lock, we don't clean up the

[PATCH 3/3] create_symref: write reflog while holding lock

2015-12-28 Thread Jeff King
We generally hold a lock on the matching ref while writing to its reflog; this prevents two simultaneous writers from clobbering each other's reflog lines (it does not even have to be two symref updates; because we don't hold the lock, we could race with somebody writing to the pointed-to ref via

Re: [PATCH 4/4] create_symref: use existing ref-lock code

2015-12-28 Thread Jeff King
On Tue, Dec 29, 2015 at 12:02:30AM -0500, Jeff King wrote: > Given that using symlinks is only > triggered by an undocumented (!) option that presumably very few people > use, I'm inclined to leave it as-is. Sorry, I am wrong here. We do document core.preferSymlinkRefs. I missed it because my

[PATCH v2 0/3] improve symbolic-ref robustness

2015-12-28 Thread Jeff King
On Sun, Dec 20, 2015 at 02:26:37AM -0500, Jeff King wrote: > I noticed that an interrupt "git symbolic-ref" will not clean up > "HEAD.lock". So I started this series as an attempt to convert > create_symref() to "struct lock_file" to get the usual tempfile cleanup. Here's version 2, based on

[PATCH 1/3] create_symref: modernize variable names

2015-12-28 Thread Jeff King
Once upon a time, create_symref() was used only to point HEAD at a branch name, and the variable names reflect that (e.g., calling the path git_HEAD). However, it is much more generic these days (and has been for some time). Let's update the variable names to make it easier to follow: -

Re: [PATCH] notes: allow merging from arbitrary references

2015-12-28 Thread Junio C Hamano
Jacob Keller writes: > From: Jacob Keller > > Create a new expansion function, expand_loose_notes_ref which will first > check whether the ref can be found using get_sha1. If it can't be found > then it will fallback to using expand_notes_ref.

[ANNOUNCE] Git v2.7.0-rc3

2015-12-28 Thread Junio C Hamano
A release candidate Git v2.7.0-rc3 is now available for testing at the usual places; the changes relative to -rc2 is mostly the translation updates. Big thanks to the i18n/l10n teams. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public

Re: [PATCH/RFC v2 0/2] add regex match flags to git describe

2015-12-28 Thread Mostyn Bramley-Moore
On 12/28/2015 09:30 PM, Junio C Hamano wrote: Mostyn Bramley-Moore writes: git describe currently only supports glob matching with the --matches flag. It would be useful to support regular expressions. For consistency, this uses the same regex flags as those used by

What's cooking in git.git (Dec 2015, #06; Mon, 28)

2015-12-28 Thread Junio C Hamano
Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. v2.7.0-rc3, hopefully the last

Re: [PATCH V4 2/2] user-manual: add section documenting shallow clones

2015-12-28 Thread Stephen & Linda Smith
On Monday, December 28, 2015 02:57:47 PM Junio C Hamano wrote: > "Stephen P. Smith" writes: > > > Rather than merely pointing readers at the 1.5 release notes to > > learn about shallow clones, document them formally. > > > > Signed-off-by: Stephen P. Smith > >

Re: [PATCH 2/2] bswap: add NO_UNALIGNED_LOADS define

2015-12-28 Thread Eric Sunshine
On Tue, Dec 29, 2015 at 1:36 AM, Jeff King wrote: > The byte-swapping code automatically decides, based on the > platform, whether it is sensible to cast an do a potentially s/an/and/ or something? > unaligned ntohl(), or to pick individual bytes out of an > array. > > It can be

[PATCH v4 01/10] dir: free untracked cache when removing it

2015-12-28 Thread Christian Couder
Signed-off-by: Christian Couder --- builtin/update-index.c | 1 + 1 file changed, 1 insertion(+) diff --git a/builtin/update-index.c b/builtin/update-index.c index 7431938..a6fff87 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@ -1123,6 +1123,7 @@

[PATCH v4 10/10] t7063: add tests for core.untrackedCache

2015-12-28 Thread Christian Couder
Signed-off-by: Christian Couder --- t/t7063-status-untracked-cache.sh | 75 --- 1 file changed, 71 insertions(+), 4 deletions(-) diff --git a/t/t7063-status-untracked-cache.sh b/t/t7063-status-untracked-cache.sh index

[PATCH v4 09/10] config: add core.untrackedCache

2015-12-28 Thread Christian Couder
When we know that mtime is fully supported by the environment, we might want the untracked cache to be always used by default without any mtime test or kernel version check being performed. Also when we know that mtime is not supported by the environment, for example because the repo is shared

[PATCH v4 08/10] dir: simplify untracked cache "ident" field

2015-12-28 Thread Christian Couder
It is not a good idea to compare kernel versions and disable the untracked cache if it changes as people may upgrade and still want the untracked cache to work. So let's just compare work tree locations to decide if we should disable it. Also it's not useful to store many locations in the ident

[PATCH v4 00/10] Untracked cache improvements

2015-12-28 Thread Christian Couder
Here is a new version of a patch series to improve the untracked cache feature. This v4 implements core.untrackedCache as a tristate config variable. When it's `true`, Git commands, especially `git status`, should always add the untracked cache and use it, and when `false`, Git commands should

[PATCH v4 03/10] update-index: add --test-untracked-cache

2015-12-28 Thread Christian Couder
It is nice to just be able to test if untracked cache is supported without enabling it. Signed-off-by: Christian Couder --- Documentation/git-update-index.txt | 12 +++- builtin/update-index.c | 5 + 2 files changed, 16 insertions(+), 1

[PATCH 03/14] strutil: add skip_prefix_icase

2015-12-28 Thread Jeff King
Some sites that otherwise would use skip_prefix cannot do so, because it has no way to do case-insensitive comparisons. Such sites usually get around this by using strncasecmp, at the cost of having to use magic numbers. We can help them by providing a case-insensitive version of skip_prefix.

[PATCH 04/14] shortlog: use skip_prefix_icase to parse "Author" lines

2015-12-28 Thread Jeff King
Because we must match both "Author" and "author" here, we could not use skip_prefix, and had to hand-code a partial case-insensitive match. Now that we have skip_prefix_case, we can use it. This is technically more liberal in what it matches (e.g., it will match AUTHOR), but in this particular

[PATCH 05/14] shortlog: use strbufs to read from stdin

2015-12-28 Thread Jeff King
We currently use fixed-size buffers with fgets(), which could lead to incorrect results in the unlikely event that a line had something like "Author:" at exactly its 1024th character. But it's easy to convert this to a strbuf, and because we can reuse the same buffer through the loop, we don't

[PATCH 10/14] shortlog: change "author" variables to "ident"

2015-12-28 Thread Jeff King
This is in preparation for shortlog counting more things than just authors. Breaking it out into a separate patch keeps the noise down when the real changes come. Signed-off-by: Jeff King --- builtin/shortlog.c | 22 +++--- 1 file changed, 11 insertions(+), 11

[PATCH 09/14] shortlog: optimize out useless string list

2015-12-28 Thread Jeff King
If we are in "--summary" mode, then we do not care about the actual list of subject onelines associated with each author. We care only about the number. So rather than store a string-list for each author full of "", let's just keep a count. This drops my best-of-five for "git shortlog -ns HEAD"

[PATCH 11/14] shortlog: allow grouping by committer ident

2015-12-28 Thread Jeff King
Shortlog always groups commits by the author field. It can be interesting to group by other fields, as well. The obvious other identity in each commit is the committer field. This might be interesting if your project follows a workflow where committers and authors are not the same and where there

[PATCH 12/14] trailer: factor out config reading

2015-12-28 Thread Jeff King
The only entry point into the trailer.c code is process_trailers, which initializes itself by reading the trailer config. Let's pull that out into a separate function and protect it with a lazy-initialization flag. That will let us easily add new entry points in future patches. Signed-off-by:

Re: [PATCH 14/14] shortlog: match commit trailers with --ident

2015-12-28 Thread Jeff King
A few comments on my own patch... On Tue, Dec 29, 2015 at 02:38:32AM -0500, Jeff King wrote: > If a project uses commit trailers, this patch lets you use > shortlog to see who is performing each action. For example, > running: > > git shortlog -ns --ident=reviewed-by So obviously you can do

[PATCH 0/2] compiling with -fsanitize=undefined

2015-12-28 Thread Jeff King
I was playing around with the new-ish "-fsanitize=undefined" compiler flag, and it detected a few problems: 1. We sometimes bit-shift signed constants too far (fixed by the first patch). 2. We have some unaligned memory accesses that presumably work OK on x86, but would blow up on

[PATCH 2/2] bswap: add NO_UNALIGNED_LOADS define

2015-12-28 Thread Jeff King
The byte-swapping code automatically decides, based on the platform, whether it is sensible to cast an do a potentially unaligned ntohl(), or to pick individual bytes out of an array. It can be handy to override this decision, though, when turning on compiler flags that will complain about

[PATCH 1/2] avoid shifting signed integers 31 bits

2015-12-28 Thread Jeff King
We sometimes use 32-bit unsigned integers as bit-fields. It's fine to access the MSB, because it's unsigned. However, doing so as "1 << 31" is wrong, because the constant "1" is a signed int, and we shift into the sign bit, causing undefined behavior. We can fix this by using "1U" as the

Re: [PATCH 0/2] compiling with -fsanitize=undefined

2015-12-28 Thread Jeff King
On Tue, Dec 29, 2015 at 01:34:49AM -0500, Jeff King wrote: > 2. We have some unaligned memory accesses that presumably work OK on > x86, but would blow up on ARM or other platforms (I didn't test). > > The latter looks like it's in the untracked cache code (Duy and > Christian cc'd).

Re: [PATCH 2/2] bswap: add NO_UNALIGNED_LOADS define

2015-12-28 Thread Jeff King
On Tue, Dec 29, 2015 at 01:42:45AM -0500, Eric Sunshine wrote: > On Tue, Dec 29, 2015 at 1:36 AM, Jeff King wrote: > > The byte-swapping code automatically decides, based on the > > platform, whether it is sensible to cast an do a potentially > > s/an/and/ or something? Yes, it

[PATCH v4 07/10] dir: add remove_untracked_cache()

2015-12-28 Thread Christian Couder
Factor out code into remove_untracked_cache(), which will be used in a later commit. Signed-off-by: Christian Couder --- builtin/update-index.c | 6 +- dir.c | 9 + dir.h | 1 + 3 files changed, 11 insertions(+), 5

[PATCH v4 02/10] update-index: use enum for untracked cache options

2015-12-28 Thread Christian Couder
Signed-off-by: Christian Couder --- builtin/update-index.c | 18 +- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/builtin/update-index.c b/builtin/update-index.c index a6fff87..1e546a3 100644 --- a/builtin/update-index.c +++

[PATCH v4 06/10] dir: add {new,add}_untracked_cache()

2015-12-28 Thread Christian Couder
Factor out code into new_untracked_cache() and add_untracked_cache(), which will be used in later commits. Signed-off-by: Christian Couder --- builtin/update-index.c | 11 +-- dir.c | 18 ++ dir.h | 1 + 3 files

[PATCH v4 04/10] update-index: add untracked cache notifications

2015-12-28 Thread Christian Couder
Attempting to flip the untracked-cache feature on for a random index file with cd /random/unrelated/place git --git-dir=/somewhere/else/.git update-index --untracked-cache would not work as you might expect. Because flipping the feature on in the index also records the location of the

[PATCH v4 05/10] update-index: move 'uc' var declaration

2015-12-28 Thread Christian Couder
Signed-off-by: Christian Couder --- builtin/update-index.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/builtin/update-index.c b/builtin/update-index.c index 369c207..fe7aaa3 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@

[PATCH 01/14] move string functions out of git-compat-util

2015-12-28 Thread Jeff King
We have several inline string helpers (skip_prefix, etc) defined in git-compat-util.h. This is convenient, as it makes them available everywhere, but this is probably not the best place for them. Besides cluttering a file which is otherwise mostly about compatibility issues, defining inline

[PATCH 0/14] counting trailers with shortlogs

2015-12-28 Thread Jeff King
I happened to be reading an old discussion on trailers a few weeks ago, and the idea was mentioned of providing access to commit trailers in a more structured way from traversal commands. E.g., we could presumably have a log pretty-format for showing "Signed-off-by", like

[PATCH 02/14] log: refactor add_header to drop some magic numbers

2015-12-28 Thread Jeff King
We want to chomp newlines off the end of the "value" string. But because it's const, we must track its length rather than writing a NUL. This leads to us having to tweak that length later, to account for moving the pointer forward. Since we are about to create a copy of it anyway, let's just wait

[PATCH 07/14] shortlog: optimize "--summary" mode

2015-12-28 Thread Jeff King
If the user asked us only to show counts for each author, rather than the individual summary lines, then there is no point in us generating the summaries only to throw them away. With this patch, I measured the following speedup for "git shortlog -ns HEAD" on linux.git (best-of-five): [before]

[PATCH 08/14] shortlog: optimize out useless "" normalization

2015-12-28 Thread Jeff King
If we are in --summary mode, we will always pass to insert_one_record, which will then do some normalization (e.g., cutting out "[PATCH]"). There's no point in doing so if we aren't going to use the result anyway. This drops my best-of-five for "git shortlog -ns HEAD" on linux.git from: real

[PATCH 06/14] shortlog: replace hand-parsing of author with pretty-printer

2015-12-28 Thread Jeff King
When gathering the author and oneline subject for each commit, we hand-parse the commit headers to find the "author" line, and then continue past to the blank line at the end of the header. We can replace this tricky hand-parsing by simply asking the pretty-printer for the relevant items. This

[PATCH 13/14] trailer: add interface for parsing commit trailers

2015-12-28 Thread Jeff King
The git-trailer command and its subfunctions work in only one way: they take a set of trailer operations, and pass through a file while performing those operations on it. However, other parts of the system may want to simply parse trailers, and we should be able to reuse the code here. This patch

[PATCH 14/14] shortlog: match commit trailers with --ident

2015-12-28 Thread Jeff King
If a project uses commit trailers, this patch lets you use shortlog to see who is performing each action. For example, running: git shortlog -ns --ident=reviewed-by in git.git shows who has reviewed. You can even use a custom format to see things like who has helped whom: git shortlog

Re: "git stash pop" is doing an unwanted "git add" when there are conflicts.

2015-12-28 Thread Jeff King
On Thu, Dec 24, 2015 at 09:20:38AM +, Alan Mackenzie wrote: > > It seems to be a side effect of merge-recursive to stage the results, > > and in the no-conflict path we explicitly reset the index. For the > > conflicting case, it's trickier, because we would want to retain the > > unmerged