Home Explore Blog CI



git

3rd chunk of `Documentation/RelNotes/1.7.4.adoc`
4cf847e43f144e3d6d3ca5ff56a294ff93fff6e44fe368620000000100000c33
 that match the given pattern.

 * "git read-tree" with no argument as a way to empty the index is
   deprecated; we might want to remove it in the future.  Users can
   use the new --empty option to be more explicit instead.

 * "git repack -f" does not spend cycles to recompress objects in the
   non-delta representation anymore (use -F if you really mean it
   e.g. after you changed the core.compression variable setting).

 * "git merge --log" used to limit the resulting merge log to 20
   entries; this is now customizable by giving e.g. "--log=47".

 * "git merge" may work better when all files were moved out of a
   directory in one branch while a new file is created in place of that
   directory in the other branch.

 * "git merge" learned the "--abort" option, synonymous to
   "git reset --merge" when a merge is in progress.

 * "git notes" learned the "merge" subcommand to merge notes refs.
   In addition to the default manual conflict resolution, there are
   also several notes merge strategies for automatically resolving
   notes merge conflicts.

 * "git rebase --autosquash" can use SHA-1 object names to name the
   commit which is to be fixed up (e.g. "fixup! e83c5163").

 * The default "recursive" merge strategy learned the --rename-threshold
   option to influence the rename detection, similar to the -M option
   of "git diff".  From the "git merge" frontend, the "-X<strategy option>"
   interface, e.g. "git merge -Xrename-threshold=50% ...", can be used
   to trigger this.

 * The "recursive" strategy also learned to ignore various whitespace
   changes; the most notable is -Xignore-space-at-eol.

 * "git send-email" learned "--to-cmd", similar to "--cc-cmd", to read
   the recipient list from a command output.

 * "git send-email" learned to read and use "To:" from its input files.

 * you can extend "git shell", which is often used on boxes that allow
   git-only login over ssh as login shell, with a custom set of
   commands.

 * The current branch name in "git status" output can be colored differently
   from the generic header color by setting the "color.status.branch" variable.

 * "git submodule sync" updates metainformation for all submodules,
   not just the ones that have been checked out.

 * gitweb can use a custom 'highlight' command with its configuration file.

 * other gitweb updates.


Also contains various documentation updates.


Fixes since v1.7.3
------------------

All of the fixes in the v1.7.3.X maintenance series are included in this
release, unless otherwise noted.

 * "git log --author=me --author=her" did not find commits written by
   me or by her; instead it looked for commits written by me and by
   her, which is impossible.

 * "git push --progress" shows progress indicators now.

 * "git rebase -i" showed a confusing error message when given a
   branch name that does not exist.

 * "git repack" places its temporary packs under $GIT_OBJECT_DIRECTORY/pack
   instead of $GIT_OBJECT_DIRECTORY/ to avoid cross directory renames.

 * "git submodule update --recursive --other-flags" passes flags down
   to its subinvocations.

Title: Git v1.7.4 Release Notes: New Features, Fixes, and Improvements
Summary
This release of Git includes various new features, such as improved merge strategies, customizable log output, and enhanced email sending capabilities, as well as numerous fixes for issues like incorrect author filtering, progress indicator display, and submodule updates, making the overall Git experience more efficient and user-friendly.