Ævar Arnfjörð Bjarmason 30884c9afc commit: add support for --fixup <commit> -m"<extra message>"
Add support for supplying the -m option with --fixup. Doing so has
errored out ever since --fixup was introduced. Before this, the only
way to amend the fixup message while committing was to use --edit and
amend it in the editor.

The use-case for this feature is one of:

 * Leaving a quick note to self when creating a --fixup commit when
   it's not self-evident why the commit should be squashed without a
   note into another one.

 * (Ab)using the --fixup feature to "fix up" commits that have already
   been pushed to a branch that doesn't allow non-fast-forwards,
   i.e. just noting "this should have been part of that other commit",
   and if the history ever got rewritten in the future the two should
   be combined.

   In such a case you might want to leave a small message,
   e.g. "forgot this part, which broke XYZ".

With this, --fixup <commit> -m"More" -m"Details" will result in a
commit message like:

    !fixup <subject of <commit>>

    More

    Details

The reason the test being added here seems to squash "More" at the end
of the subject line of the commit being fixed up is because the test
code is using "%s%b" so the body immediately follows the subject, it's
not a bug in this code, and other tests t7500-commit.sh do the same
thing.

When the --fixup option was initially added the "Option -m cannot be
combined" error was expanded from -c, -C and -F to also include
--fixup[1]

Those options could also support combining with -m, but given what
they do I can't think of a good use-case for doing that, so I have not
made the more invasive change of splitting up the logic in commit.c to
first act on those, and then on -m options.

1. d71b8ba7c9 ("commit: --fixup option for use with rebase
   --autosquash", 2010-11-02)

Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-12-22 13:10:24 -08:00
2017-11-21 14:07:50 +09:00
2017-10-29 10:04:12 +08:00
2017-07-06 18:14:44 -07:00
2017-06-24 14:28:41 -07:00
2017-06-24 14:28:41 -07:00
2017-03-13 15:28:54 -07:00
2017-11-15 12:14:28 +09:00
2017-05-25 13:08:23 +09:00
2017-05-08 15:12:57 +09:00
2017-05-08 15:12:57 +09:00
2017-11-28 13:41:49 +09:00
2017-08-03 11:08:10 -07:00
2017-05-02 10:46:41 +09:00
2017-11-06 13:11:21 +09:00
2017-12-04 09:38:30 -08:00
2017-10-24 10:19:06 +09:00
2017-01-25 14:42:37 -08:00
2017-11-08 11:34:00 +09:00
2017-11-08 11:34:00 +09:00
2017-06-22 14:15:20 -07:00
2017-06-24 14:28:41 -07:00
2017-12-13 13:28:54 -08:00
2017-12-19 11:33:58 -08:00
2017-11-28 10:40:04 +09:00
2017-11-21 14:07:50 +09:00
2017-11-21 14:07:50 +09:00
2017-11-21 14:07:50 +09:00
2017-03-31 08:33:56 -07:00
2017-03-31 08:33:56 -07:00
2017-11-15 12:05:22 +09:00
2017-11-28 13:41:50 +09:00
2017-12-13 13:28:54 -08:00
2017-11-21 14:05:30 +09:00
2017-11-01 10:35:39 +09:00
2017-08-23 15:12:07 -07:00
2017-12-06 09:23:44 -08:00
2017-06-24 14:28:41 -07:00
2017-01-30 14:17:00 -08:00
2017-09-06 17:19:54 +09:00
2017-11-09 14:31:27 +09:00
2017-10-01 17:18:03 +09:00
2017-10-01 17:18:03 +09:00
2017-10-01 17:18:03 +09:00
2017-10-01 17:18:03 +09:00
2017-01-30 14:17:00 -08:00
2017-08-23 15:12:07 -07:00
2017-08-22 10:29:03 -07:00
2017-05-29 12:34:43 +09:00
2017-10-28 10:18:40 +09:00
2017-12-06 09:23:44 -08:00
2017-10-17 10:51:29 +09:00
2017-12-19 11:33:55 -08:00
2017-11-27 11:06:37 +09:00
2017-12-06 09:10:35 -08:00
2017-09-25 15:24:06 +09:00
2017-09-29 11:23:43 +09:00
2017-03-31 08:33:56 -07:00
2017-12-19 11:33:55 -08:00
2017-12-19 11:33:58 -08:00
2017-03-31 08:33:56 -07:00
2017-09-29 11:23:43 +09:00
2017-06-24 14:28:41 -07:00
2017-12-13 13:28:54 -08:00
2017-09-28 14:47:52 +09:00
2017-08-26 22:55:04 -07:00
2017-06-24 14:28:41 -07:00
2017-11-21 14:07:50 +09:00
2017-12-06 09:23:44 -08:00
2017-11-06 14:24:27 +09:00

Git - fast, scalable, distributed revision control system

Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.

Git is an Open Source project covered by the GNU General Public License version 2 (some parts of it are under different licenses, compatible with the GPLv2). It was originally written by Linus Torvalds with help of a group of hackers around the net.

Please read the file INSTALL for installation instructions.

Many Git online resources are accessible from https://git-scm.com/ including full documentation and Git related tools.

See Documentation/gittutorial.txt to get started, then see Documentation/giteveryday.txt for a useful minimum set of commands, and Documentation/git-.txt for documentation of each command. If git has been correctly installed, then the tutorial can also be read with man gittutorial or git help tutorial, and the documentation of each command with man git-<commandname> or git help <commandname>.

CVS users may also want to read Documentation/gitcvs-migration.txt (man gitcvs-migration or git help cvs-migration if git is installed).

The user discussion and development of Git take place on the Git mailing list -- everyone is welcome to post bug reports, feature requests, comments and patches to git@vger.kernel.org (read Documentation/SubmittingPatches for instructions on patch submission). To subscribe to the list, send an email with just "subscribe git" in the body to majordomo@vger.kernel.org. The mailing list archives are available at https://public-inbox.org/git/, http://marc.info/?l=git and other archival sites.

The maintainer frequently sends the "What's cooking" reports that list the current status of various development topics to the mailing list. The discussion following them give a good reference for project status, development direction and remaining tasks.

The name "git" was given by Linus Torvalds when he wrote the very first version. He described the tool as "the stupid content tracker" and the name as (depending on your mood):

  • random three-letter combination that is pronounceable, and not actually used by any common UNIX command. The fact that it is a mispronunciation of "get" may or may not be relevant.
  • stupid. contemptible and despicable. simple. Take your pick from the dictionary of slang.
  • "global information tracker": you're in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room.
  • "goddamn idiotic truckload of sh*t": when it breaks
Description
Git with broken hash generation to generate collisions between object IDs. Don't use this!
https://undefinedbehavior.de/posts/commit-vandalism/
Readme 217 MiB
Languages
C 50%
Shell 38.2%
Perl 5.5%
Tcl 3.5%
Python 0.9%
Other 1.7%