Tags: mjg/git
Tags
log --remerge-diff: show what the conflict resolution changed Git has --cc as a very fast inspection tool that shows a brief summary of what a conflicted merge "looks like", and -c/-m as "give me the full information" data dumps. But --cc actually loses information: if the merge lost(!) some changes from one side, that hunk would fully agree with the other side, and therefore be elided. So --cc cannot be used to investigate mismerges. Indeed it is rather hard to find a merge that has lost changes, unless one knows where to look. The new option --remerge-diff is an attempt at filling this gap, admittedly at the cost of a lot of CPU cycles. For each merge commit, it diffs the merge result against a recursive merge of the merge's parents. For files that can be auto-merged cleanly, it will typically show nothing. However, it will make it obvious when the merge introduces extra changes. For files that result in merge conflicts, we diff against the representation with conflict hunks (what the user would usually see in the worktree). So the diff will show what was changed in the conflict hunks to resolve the conflict. It still takes a bit of staring to tell an evil from a regular merge. But at least the information is there, unlike with --cc; and the output is usually much shorter than with -c. Signed-off-by: Thomas Rast <tr@thomasrast.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
git grep: honor textconv by default Currently, "git grep" does not honor textconv settings by default. Make it honor them by default just like "git log --grep" does.
rev-list/log: document logic with several limiting options The current behavior is probably as useful as it is confusing. In any case it is going to stay. So, document it. This does not take into account the issue of 'log --all-match --author=me --grep=foo --grep=bar' not honoring '--all-match' because it is hopefully a corner case (and, even more hopefully, fixed some time soon).
branch.c: use the parsed branch name When setting up tracking info, branch.c uses the given branch specifier ("name"). Use the parsed name ("ref.buf") instead so that git branch --set-upstream @{-1} foo sets up tracking info for the previous branch rather than for a branch named "@{-1}". Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
contrib: git-c2t converts tag creating commits to tags Introduce git-c2t <commit> <tag> which converts a commit object <commit> into a tag object (and tags it with <tagname>), under the provision that <commit> has exactly one parent and has the same tree. That tag points at the parent commit. This is useful for converting "tag creating commits" such as those produced by git-svn into proper git tags. Tag creating commits typically create a "1-commit side branch" whereas the tag created by c2t points at the pseudo fork point (the commit being tagged). Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
WIP Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Makefile: implement help target with automatic help text collection from lines starting with "# Help: " and preceding a make target. Suggested-by: Stephen Boyd <bebarino@gmail.com> Helped-by: Andreas Ericsson <andreas.ericsson@op5.se> Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Makefile: implement help target with automatic help text collection from lines starting with "# Help: " and preceding a make target. Suggested-by: Stephen Boyd <bebarino@gmail.com> Helped-by: Andreas Ericsson <andreas.ericsson@op5.se> Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Makefile: implement help target with automatic help text collection from lines starting with "#H# " and preceding a make target. Suggested-by: Stephen Boyd <bebarino@gmail.com> Helped-by: Andreas Ericsson <andreas.ericsson@op5.se> Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
PreviousNext