Next | Query returned 134 messages, browsing 91 to 100 | Previous

History of commit frequency

CVS Commit History:


   2016-04-07 15:26:37 by Adam Ciarcinski | Files touched by this commit (14) | Package updated
Log message:
Changes 2.8.1:
* "make rpmbuild" target was broken as its input, git.spec.in, was
   not updated to match a file it describes that has been renamed
   recently.  This has been fixed.
   2016-03-12 12:33:32 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
Changes 2.7.3:

* Traditionally, the tests that try commands that work on the
  contents in the working tree were named with "worktree" in their
  filenames, but with the recent addition of "git worktree"
  subcommand, whose tests are also named similarly, it has become
  harder to tell them apart.  The traditional tests have been renamed
  to use "work-tree" instead in an attempt to differentiate them.

* Many codepaths forget to check return value from git_config_set();
  the function is made to die() to make sure we do not proceed when
  setting a configuration variable failed.

* Handling of errors while writing into our internal asynchronous
  process has been made more robust, which reduces flakiness in our
  tests.

* "git show 'HEAD:Foo[BAR]Baz'" did not interpret the argument as a
  rev, i.e. the object named by the the pathname with wildcard
  characters in a tree object.

* "git rev-parse --git-common-dir" used in the worktree feature
  misbehaved when run from a subdirectory.

* The "v(iew)" subcommand of the interactive "git am -i" \ 
command was
  broken in 2.6.0 timeframe when the command was rewritten in C.

* "git merge-tree" used to mishandle "both sides added" \ 
conflict with
  its own "create a fake ancestor file that has the common parts of
  what both sides have added and do a 3-way merge" logic; this has
  been updated to use the usual "3-way merge with an empty blob as
  the fake common ancestor file" approach used in the rest of the
  system.

* The memory ownership rule of fill_textconv() API, which was a bit
  tricky, has been documented a bit better.

* The documentation did not clearly state that the 'simple' mode is
  now the default for "git push" when push.default configuration is
  not set.

* Recent versions of GNU grep are pickier when their input contains
  arbitrary binary data, which some of our tests uses.  Rewrite the
  tests to sidestep the problem.

* A helper function "git submodule" uses since v2.7.0 to list the
  modules that match the pathspec argument given to its subcommands
  (e.g. "submodule add <repo> <path>") has been fixed.

* "git config section.var value" to set a value in per-repository
  configuration file failed when it was run outside any repository,
  but didn't say the reason correctly.

* The code to read the pack data using the offsets stored in the pack
  idx file has been made more carefully check the validity of the
  data in the idx.
   2016-02-29 11:50:55 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
Changes 2.7.2:
* The low-level merge machinery has been taught to use CRLF line
  termination when inserting conflict markers to merged contents that
  are themselves CRLF line-terminated.
* "git worktree" had a broken code that attempted to auto-fix
  possible inconsistency that results from end-users moving a
  worktree to different places without telling Git (the original
  repository needs to maintain backpointers to its worktrees, but
  "mv" run by end-users who are not familiar with that fact will
  obviously not adjust them), which actually made things worse
  when triggered.
* "git push --force-with-lease" has been taught to report if the push
  needed to force (or fast-forwarded).
* The emulated "yes" command used in our test scripts has been
  tweaked not to spend too much time generating unnecessary output
  that is not used, to help those who test on Windows where it would
  not stop until it fills the pipe buffer due to lack of SIGPIPE.
* The vimdiff backend for "git mergetool" has been tweaked to arrange
  and number buffers in the order that would match the expectation of
  majority of people who read left to right, then top down and assign
  buffers 1 2 3 4 "mentally" to local base remote merge windows based
  on that order.
* The documentation for "git clean" has been corrected; it mentioned
  that .git/modules/* are removed by giving two "-f", which has never
  been the case.
* Paths that have been told the index about with "add -N" are not
  quite yet in the index, but a few commands behaved as if they
  already are in a harmful way.
   2016-02-07 11:27:23 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
Git v2.7.1 Release Notes
========================

Fixes since v2.7
----------------

 * An earlier change in 2.5.x-era broke users' hooks and aliases by
   exporting GIT_WORK_TREE to point at the root of the working tree,
   interfering when they tried to use a different working tree without
   setting GIT_WORK_TREE environment themselves.

 * The "exclude_list" structure has the usual "alloc, nr" pair of
   fields to be used by ALLOC_GROW(), but clear_exclude_list() forgot
   to reset 'alloc' to 0 when it cleared 'nr' to discard the managed
   array.

 * "git send-email" was confused by escaped quotes stored in the alias
   files saved by "mutt", which has been corrected.

 * A few unportable C construct have been spotted by clang compiler
   and have been fixed.

 * The documentation has been updated to hint the connection between
   the '--signoff' option and DCO.

 * "git reflog" incorrectly assumed that all objects that used to be
   at the tip of a ref must be commits, which caused it to segfault.

 * The ignore mechanism saw a few regressions around untracked file
   listing and sparse checkout selection areas in 2.7.0; the change
   that is responsible for the regression has been reverted.

 * Some codepaths used fopen(3) when opening a fixed path in $GIT_DIR
   (e.g. COMMIT_EDITMSG) that is meant to be left after the command is
   done.  This however did not work well if the repository is set to
   be shared with core.sharedRepository and the umask of the previous
   user is tighter.  They have been made to work better by calling
   unlink(2) and retrying after fopen(3) fails with EPERM.

 * Asking gitweb for a nonexistent commit left a warning in the server
   log.

 * "git rebase", unlike all other callers of "gc --auto", did not
   ignore the exit code from "gc --auto".

 * Many codepaths that run "gc --auto" before exiting kept packfiles
   mapped and left the file descriptors to them open, which was not
   friendly to systems that cannot remove files that are open.  They
   now close the packs before doing so.

 * A recent optimization to filter-branch in v2.7.0 introduced a
   regression when --prune-empty filter is used, which has been
   corrected.

 * The description for SANITY prerequisite the test suite uses has
   been clarified both in the comment and in the implementation.

 * "git tag" started listing a tag "foo" as \ 
"tags/foo" when a branch
   named "foo" exists in the same repository; remove this unnecessary
   disambiguation, which is a regression introduced in v2.7.0.

 * The way "git svn" uses auth parameter was broken by Subversion
   1.9.0 and later.

 * The "split" subcommand of "git subtree" (in contrib/) \ 
incorrectly
   skipped merges when it shouldn't, which was corrected.

 * A few options of "git diff" did not work well when the command was
   run from a subdirectory.

 * dirname() emulation has been added, as Msys2 lacks it.

 * The underlying machinery used by "ls-files -o" and other commands
   have been taught not to create empty submodule ref cache for a
   directory that is not a submodule.  This removes a ton of wasted
   CPU cycles.

 * Drop a few old "todo" items by deciding that the change one of them
   suggests is not such a good idea, and doing the change the other
   one suggested to do.

 * Documentation for "git fetch --depth" has been updated for clarity.

 * The command line completion learned a handful of additional options
   and command specific syntax.

Also includes a handful of documentation and test updates.
   2016-01-08 18:37:20 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
Changes 2.7.0:
UI, Workflows & Features

* The appearance of "gitk", particularly on high DPI monitors, have
  been improved.  "gitk" also comes with an undated translation for
  Swedish and Japanese.

* "git remote" learned "get-url" subcommand to show the URL for a
  given remote name used for fetching and pushing.

* There was no way to defeat a configured rebase.autostash variable
  from the command line, as "git rebase --no-autostash" was missing.

* "git log --date=local" used to only show the normal (default)
  format in the local timezone.  The command learned to take 'local'
  as an instruction to use the local timezone with other formats,

* The refs used during a "git bisect" session is now per-worktree so
  that independent bisect sessions can be done in different worktrees
  created with "git worktree add".

* Users who are too busy to type three extra keystrokes to ask for
  "git stash show -p" can now set stash.showPatch configuration
  variable to true to always see the actual patch, not just the list
  of paths affected with feel for the extent of damage via diffstat.

* "quiltimport" allows to specify the series file by honoring the
  $QUILT_SERIES environment and also --series command line option.

* The use of 'good/bad' in "git bisect" made it confusing to use when
  hunting for a state change that is not a regression (e.g. bugfix).
  The command learned 'old/new' and then allows the end user to
  say e.g. "bisect start --term-old=fast --term-new=slow" to find a
  performance regression.

* "git interpret-trailers" can now run outside of a Git repository.

* "git p4" learned to reencode the pathname it uses to communicate
  with the p4 depot with a new option.

* Give progress meter to "git filter-branch".

* Allow a later "!/abc/def" to override an earlier "/abc" that
  appears in the same .gitignore file to make it easier to express
  "everything in /abc directory is ignored, except for ...".

* Teach "git p4" to send large blobs outside the repository by
  talking to Git LFS.

* Prepare for Git on-disk repository representation to undergo
  backward incompatible changes by introducing a new repository
  format version "1", with an extension mechanism.

* "git worktree" learned a "list" subcommand.

* "git clone --dissociate" learned that it can be used even when
  "--reference" was not used at the same time.

* "git blame" learnt to take "--first-parent" and \ 
"--reverse" at the
  same time when it makes sense.

* "git checkout" did not follow the usual "--[no-]progress"
  convention and implemented only "--quiet" that is essentially
  a superset of "--no-progress".  Extend the command to support the
  usual "--[no-]progress".

* The semantics of transfer.hideRefs configuration variable have been
  extended to work better with the ref "namespace" feature that lets
  you throw unrelated bunches of repositories in a single physical
  repository and virtually serve them as separate ones.

* send-email config variables whose values are pathnames now go
  through the ~username/ expansion.

* bash completion learnt to TAB-complete recipient addresses given
  to send-email.

* The credential-cache daemon can be told to ignore SIGHUP to work
  around issue when running Git from inside emacs.

* "git push" learned new configuration for doing \ 
"--recurse-submodules"
  on each push.

* "format-patch" has learned a new option to zero-out the commit
  object name on the mbox "From " line.
   2015-12-10 14:35:46 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
Fixes since v2.6.3
------------------

 * The "configure" script did not test for -lpthread correctly, which
   upset some linkers.

 * Add support for talking http/https over socks proxy.

 * Portability fix for Windows, which may rewrite $SHELL variable using
   non-POSIX paths.

 * We now consistently allow all hooks to ignore their standard input,
   rather than having git complain of SIGPIPE.

 * Fix shell quoting in contrib script.

 * Test portability fix for a topic in v2.6.1.

 * Allow tilde-expansion in some http config variables.

 * Give a useful special case "diff/show --word-diff-regex=." as an
   example in the documentation.

 * Fix for a corner case in filter-branch.

 * Make git-p4 work on a detached head.

 * Documentation clarification for "check-ignore" without \ 
"--verbose".

 * Just like the working tree is cleaned up when the user cancelled
   submission in P4Submit.applyCommit(), clean up the mess if "p4
   submit" fails.

 * Having a leftover .idx file without corresponding .pack file in
   the repository hurts performance; "git gc" learned to prune them.

 * The code to prepare the working tree side of temporary directory
   for the "dir-diff" feature forgot that symbolic links need not be
   copied (or symlinked) to the temporary area, as the code already
   special cases and overwrites them.  Besides, it was wrong to try
   computing the object name of the target of symbolic link, which may
   not even exist or may be a directory.

 * There was no way to defeat a configured rebase.autostash variable
   from the command line, as "git rebase --no-autostash" was missing.

 * Allow "git interpret-trailers" to run outside of a Git repository.

 * Produce correct "dirty" marker for shell prompts, even when we
   are on an orphan or an unborn branch.

 * Some corner cases have been fixed in string-matching done in "git
   status".

 * Apple's common crypto implementation of SHA1_Update() does not take
   more than 4GB at a time, and we now have a compile-time workaround
   for it.
   2015-11-06 16:45:05 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
Changes 2.6.3:
* The error message from "git blame --contents --reverse" incorrectly
  talked about "--contents --children".

* "git merge-file" tried to signal how many conflicts it found, which
  obviously would not work well when there are too many of them.

* The name-hash subsystem that is used to cope with case insensitive
  filesystems keeps track of directories and their on-filesystem
  cases for all the paths in the index by holding a pointer to a
  randomly chosen cache entry that is inside the directory (for its
  ce->ce_name component).  This pointer was not updated even when the
  cache entry was removed from the index, leading to use after free.
  This was fixed by recording the path for each directory instead of
  borrowing cache entries and restructuring the API somewhat.

* When the "git am" command was reimplemented in C, "git am \ 
-3" had a
  small regression where it is aborted in its error handling codepath
  when underlying merge-recursive failed in some ways.

* The synopsis text and the usage string of subcommands that read
  list of things from the standard input are often shown as if they
  only take input from a file on a filesystem, which was misleading.

* A couple of commands still showed "[options]" in their usage string
  to note where options should come on their command line, but we
  spell that "[<options>]" in most places these days.

* The submodule code has been taught to work better with separate
  work trees created via "git worktree add".

* When "git gc --auto" is backgrounded, its diagnosis message is
  lost.  It now is saved to a file in $GIT_DIR and is shown next time
  the "gc --auto" is run.

* Work around "git p4" failing when the P4 depot records the contents
  in UTF-16 without UTF-16 BOM.

* Recent update to "rebase -i" that tries to sanity check the edited
  insn sheet before it uses it has become too picky on Windows where
  CRLF left by the editor is turned into a trailing CR on the line
  read via the "read" built-in command.

* "git clone --dissociate" runs a big "git repack" process at the
  end, and it helps to close file descriptors that are open on the
  packs and their idx files before doing so on filesystems that
  cannot remove a file that is still open.

* Correct "git p4 --detect-labels" so that it does not fail to create
  a tag that points at a commit that is also being imported.

* The internal stripspace() function has been moved to where it
  logically belongs to, i.e. strbuf API, and the command line parser
  of "git stripspace" has been updated to use the parse_options API.

* Prepare for Git on-disk repository representation to undergo
  backward incompatible changes by introducing a new repository
  format version "1", with an extension mechanism.

* "git gc" used to barf when a symbolic ref has gone dangling
  (e.g. the branch that used to be your upstream's default when you
  cloned from it is now gone, and you did "fetch --prune").

* The normalize_ceiling_entry() function does not muck with the end
  of the path it accepts, and the real world callers do rely on that,
  but a test insisted that the function drops a trailing slash.

* "git gc" is safe to run anytime only because it has the built-in
  grace period to protect young objects.  In order to run with no
  grace period, the user must make sure that the repository is
  quiescent.

* A recent "filter-branch --msg-filter" broke skipping of the commit
  object header, which is fixed.

* "git --literal-pathspecs add -u/-A" without any command line
  argument misbehaved ever since Git 2.0.

* Merging a branch that removes a path and another that changes the
  mode bits on the same path should have conflicted at the path, but
  it didn't and silently favoured the removal.

* "git imap-send" did not compile well with older version of cURL library.

* The linkage order of libraries was wrong in places around libcurl.

* It was not possible to use a repository-lookalike created by "git
  worktree add" as a local source of "git clone".

* When "git send-email" wanted to talk over Net::SMTP::SSL,
  Net::Cmd::datasend() did not like to be fed too many bytes at the
  same time and failed to send messages.  Send the payload one line
  at a time to work around the problem.

* We peek objects from submodule's object store by linking it to the
  list of alternate object databases, but the code to do so forgot to
  correctly initialize the list.

* "git status --branch --short" accessed beyond the constant string
  "HEAD", which has been corrected.

* "git daemon" uses "run_command()" without \ 
"finish_command()", so it
  needs to release resources itself, which it forgot to do.

Also contains typofixes, documentation updates and trivial code
clean-ups.
   2015-10-17 09:44:56 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
Changes 2.6.2:
 * There were some classes of errors that "git fsck" diagnosed to its
   standard error that did not cause it to exit with non-zero status.

 * A test script for the HTTP service had a timing dependent bug,
   which was fixed.

 * Performance-measurement tests did not work without an installed Git.

 * On a case insensitive filesystems, setting GIT_WORK_TREE variable
   using a random cases that does not agree with what the filesystem
   thinks confused Git that it wasn't inside the working tree.

 * When "git am" was rewritten as a built-in, it stopped paying
   attention to user.signingkey, which was fixed.

 * After "git checkout --detach", "git status" reported a fairly
   useless "HEAD detached at HEAD", instead of saying at which exact
   commit.

 * "git rebase -i" had a minor regression recently, which stopped
   considering a line that begins with an indented '#' in its insn
   sheet not a comment, which is now fixed.

 * Description of the "log.follow" configuration variable in "git \ 
log"
   documentation is now also copied to "git config" documentation.

 * Allocation related functions and stdio are unsafe things to call
   inside a signal handler, and indeed killing the pager can cause
   glibc to deadlock waiting on allocation mutex as our signal handler
   tries to free() some data structures in wait_for_pager().  Reduce
   these unsafe calls.

 * The way how --ref/--notes to specify the notes tree reference are
   DWIMmed was not clearly documented.

 * Customization to change the behaviour with "make -w" and "make \ 
-s"
   in our Makefile was broken when they were used together.

 * The Makefile always runs the library archiver with hardcoded "crs"
   options, which was inconvenient for exotic platforms on which
   people want to use programs with totally different set of command
   line options.

 * The ssh transport, just like any other transport over the network,
   did not clear GIT_* environment variables, but it is possible to
   use SendEnv and AcceptEnv to leak them to the remote invocation of
   Git, which is not a good idea at all.  Explicitly clear them just
   like we do for the local transport.

 * "git blame --first-parent v1.0..v2.0" was not rejected but did not
   limit the blame to commits on the first parent chain.

 * Very small number of options take a parameter that is optional
   (which is not a great UI element as they can only appear at the end
   of the command line).  Add notice to documentation of each and
   every one of them.

Also contains typofixes, documentation updates and trivial code
clean-ups.
   2015-10-07 16:08:41 by Ryo ONODERA | Files touched by this commit (2) | Package updated
Log message:
Update to 2.6.1

Changelog:
Git v2.6.1 Release Notes
========================

Fixes since v2.6
----------------

 * xdiff code we use to generate diffs is not prepared to handle
   extremely large files.  It uses "int" in many places, which can
   overflow if we have a very large number of lines or even bytes in
   our input files, for example.  Cap the input size to soemwhere
   around 1GB for now.

 * Some protocols (like git-remote-ext) can execute arbitrary code
   found in the URL.  The URLs that submodules use may come from
   arbitrary sources (e.g., .gitmodules files in a remote
   repository), and can hurt those who blindly enable recursive
   fetch.  Restrict the allowed protocols to well known and safe
   ones.

Git 2.6 Release Notes
=====================

Updates since v2.5
------------------

UI, Workflows & Features

 * An asterisk as a substring (as opposed to the entirety) of a path
   component for both side of a refspec, e.g.
   "refs/heads/o*:refs/remotes/heads/i*", is now allowed.

 * New userdiff pattern definition for fountain screenwriting markup
   format has been added.

 * "git log" and friends learned a new "--date=format:..." \ 
option to
   format timestamps using system's strftime(3).

 * "git fast-import" learned to respond to the get-mark command via
   its cat-blob-fd interface.

 * "git rebase -i" learned "drop commit-object-name subject" \ 
command
   as another way to skip replaying of a commit.

 * A new configuration variable can enable "--follow" automatically
   when "git log" is run with one pathspec argument.

 * "git status" learned to show a more detailed information regarding
   the "rebase -i" session in progress.

 * "git cat-file" learned "--batch-all-objects" option to \ 
enumerate all
   available objects in the repository more quickly than "rev-list
   --all --objects" (the output includes unreachable objects, though).

 * "git fsck" learned to ignore errors on a set of known-to-be-bad
   objects, and also allows the warning levels of various kinds of
   non-critical breakages to be tweaked.

 * "git rebase -i"'s list of todo is made configurable.

 * "git send-email" now performs alias-expansion on names that are
   given via --cccmd, etc.

 * An environment variable GIT_REPLACE_REF_BASE tells Git to look into
   refs hierarchy other than refs/replace/ for the object replacement
   data.

 * Allow untracked cache (experimental) to be used when sparse
   checkout (experimental) is also in use.

 * "git pull --rebase" has been taught to pay attention to
   rebase.autostash configuration.

 * The command-line completion script (in contrib/) has been updated.

 * A negative !ref entry in multi-value transfer.hideRefs
   configuration can be used to say "don't hide this one".

 * After "git am" without "-3" stops, running "git am \ 
-3" pays attention
   to "-3" only for the patch that caused the original invocation
   to stop.

 * When linked worktree is used, simultaneous "notes merge" instances
   for the same ref in refs/notes/* are prevented from stomping on
   each other.

 * "git send-email" learned a new option --smtp-auth to limit the SMTP
   AUTH mechanisms to be used to a subset of what the system library
   supports.

 * A new configuration variable http.sslVersion can be used to specify
   what specific version of SSL/TLS to use to make a connection.

 * "git notes merge" can be told with \ 
"--strategy=<how>" option how to
   automatically handle conflicts; this can now be configured by
   setting notes.mergeStrategy configuration variable.

 * "git log --cc" did not show any patch, even though most of the time
   the user meant "git log --cc -p -m" to see patch output for commits
   with a single parent, and combined diff for merge commits.  The
   command is taught to DWIM "--cc" (without "--raw" and \ 
other forms
   of output specification) to "--cc -p -m".

 * "git config --list" output was hard to parse when values consist of
   multiple lines.  "--name-only" option is added to help this.

 * A handful of usability & cosmetic fixes to gitk and l10n updates.

 * A completely empty e-mail address <> is now allowed in the authors
   file used by git-svn, to match the way it accepts the output from
   authors-prog.

Performance, Internal Implementation, Development Support etc.

 * In preparation for allowing different "backends" to store the refs
   in a way different from the traditional "one ref per file in
   $GIT_DIR or in a $GIT_DIR/packed-refs file" filesystem storage,
   direct filesystem access to ref-like things like CHERRY_PICK_HEAD
   from scripts and programs has been reduced.

 * Computation of untracked status indicator by bash prompt
   script (in contrib/) has been optimized.

 * Memory use reduction when commit-slab facility is used to annotate
   sparsely (which is not recommended in the first place).

 * Clean up refs API and make "git clone" less intimate with the
   implementation detail.

 * "git pull" was reimplemented in C.

 * The packet tracing machinery allows to capture an incoming pack
   data to a file for debugging.

 * Move machinery to parse human-readable scaled numbers like 1k, 4M,
   and 2G as an option parameter's value from pack-objects to
   parse-options API, to make it available to other codepaths.

 * "git verify-tag" and "git verify-commit" have been taught \ 
to share
   more code, and then learned to optionally show the verification
   message from the underlying GPG implementation.

 * Various enhancements around "git am" reading patches generated by
   foreign SCM have been made.

 * Ref listing by "git branch -l" and "git tag -l" commands has
   started to be rebuilt, based on the for-each-ref machinery.

 * The code to perform multi-tree merges has been taught to repopulate
   the cache-tree upon a successful merge into the index, so that
   subsequent "diff-index --cached" (hence "status") and \ 
"write-tree"
   (hence "commit") will go faster.

   The same logic in "git checkout" may now be removed, but that is a
   separate issue.

 * Tests that assume how reflogs are represented on the filesystem too
   much have been corrected.

 * "git am" has been rewritten in "C".

 * git_path() and mkpath() are handy helper functions but it is easy
   to misuse, as the callers need to be careful to keep the number of
   active results below 4.  Their uses have been reduced.

 * The "lockfile" API has been rebuilt on top of a new \ 
"tempfile" API.

 * To prepare for allowing a different "ref" backend to be plugged in
   to the system, update_ref()/delete_ref() have been taught about
   ref-like things like MERGE_HEAD that are per-worktree (they will
   always be written to the filesystem inside $GIT_DIR).

 * The gitmodules API that is accessed from the C code learned to
   cache stuff lazily.

Also contains various documentation updates and code clean-ups.

Fixes since v2.5
----------------

Unless otherwise noted, all the fixes since v2.5 in the maintenance
track are contained in this release (see the maintenance releases'
notes for details).

 * "git subtree" (in contrib/) depended on "git log" output to be
   stable, which was a no-no.  Apply a workaround to force a
   particular date format.
   (merge e7aac44 da/subtree-date-confusion later to maint).

 * An attempt to delete a ref by pushing into a repository whose HEAD
   symbolic reference points at an unborn branch that cannot be
   created due to ref D/F conflict (e.g. refs/heads/a/b exists, HEAD
   points at refs/heads/a) failed.
   (merge b112b14 jx/do-not-crash-receive-pack-wo-head later to maint).

 * The low-level "git send-pack" did not honor 'user.signingkey'
   configuration variable when sending a signed-push.
   (merge d830d39 db/send-pack-user-signingkey later to maint).

 * "sparse checkout" misbehaved for a path that is excluded from the
   checkout when switching between branches that differ at the path.
   (merge 7d78241 as/sparse-checkout-removal later to maint).

 * An experimental "untracked cache" feature used uname(2) in a
   slightly unportable way.
   (merge 100e433 cb/uname-in-untracked later to maint).

 * A "rebase" replays changes of the local branch on top of something
   else, as such they are placed in stage #3 and referred to as
   "theirs", while the changes in the new base, typically a foreign
   work, are placed in stage #2 and referred to as "ours".  Clarify
   the "checkout --ours/--theirs".
   (merge f303016 se/doc-checkout-ours-theirs later to maint).

 * The "rev-parse --parseopt" mode parsed the option specification
   and the argument hint in a strange way to allow '=' and other
   special characters in the option name while forbidding them from
   the argument hint.  This made it impossible to define an option
   like "--pair <key>=<value>" with \ 
"pair=key=value" specification,
   which instead would have defined a "--pair=key <value>" option.
   (merge 2d893df ib/scripted-parse-opt-better-hint-string later to maint).

 * Often a fast-import stream builds a new commit on top of the
   previous commit it built, and it often unconditionally emits a
   "from" command to specify the first parent, which can be omitted in
   such a case.  This caused fast-import to forget the tree of the
   previous commit and then re-read it from scratch, which was
   inefficient.  Optimize for this common case.
   (merge 0df3245 mh/fast-import-optimize-current-from later to maint).

 * Running an aliased command from a subdirectory when the .git thing
   in the working tree is a gitfile pointing elsewhere did not work.
   (merge d95138e nd/export-worktree later to maint).

 * "Is this subdirectory a separate repository that should not be
   touched?" check "git clean" was inefficient.  This was replaced
   with a more optimized check.
   (merge fbf2fec ee/clean-remove-dirs later to maint).

 * The "new-worktree-mode" hack in "checkout" that was added in
   nd/multiple-work-trees topic has been removed by updating the
   implementation of new "worktree add".
   (merge 65f9b75 es/worktree-add-cleanup later to maint).

 * Remove remaining cruft from  "git checkout --to", which
   transitioned to "git worktree add".
   (merge 114ff88 es/worktree-add later to maint).

 * An off-by-one error made "git remote" to mishandle a remote with a
   single letter nickname.
   (merge bc598c3 mh/get-remote-group-fix later to maint).

 * "git clone $URL", when cloning from a site whose sole purpose is to
   host a single repository (hence, no path after <scheme>://<site>/),
   tried to use the site name as the new repository name, but did not
   remove username or password when <site> part was of the form
   <user>@<pass>:<host>.  The code is taught to redact these.
   (merge adef956 ps/guess-repo-name-at-root later to maint).

 * Running tests with the "-x" option to make them verbose had some
   unpleasant interactions with other features of the test suite.
   (merge 9b5fe78 jk/test-with-x later to maint).

 * t1509 test that requires a dedicated VM environment had some
   bitrot, which has been corrected.
   (merge faacc5a ps/t1509-chroot-test-fixup later to maint).

 * "git pull" in recent releases of Git has a regression in the code
   that allows custom path to the --upload-pack=<program>.  This has
   been corrected.

   Note that this is irrelevant for 'master' with "git pull" rewritten
   in C.
   (merge 13e0e28 mm/pull-upload-pack later to maint).

 * When trying to see that an object does not exist, a state errno
   leaked from our "first try to open a packfile with O_NOATIME and
   then if it fails retry without it" logic on a system that refuses
   O_NOATIME.  This confused us and caused us to die, saying that the
   packfile is unreadable, when we should have just reported that the
   object does not exist in that packfile to the caller.
   (merge dff6f28 cb/open-noatime-clear-errno later to maint).

 * The codepath to produce error messages had a hard-coded limit to
   the size of the message, primarily to avoid memory allocation while
   calling die().
   (merge f4c3edc jk/long-error-messages later to maint).

 * strbuf_read() used to have one extra iteration (and an unnecessary
   strbuf_grow() of 8kB), which was eliminated.
   (merge 3ebbd00 jh/strbuf-read-use-read-in-full later to maint).

 * We rewrote one of the build scripts in Perl but this reimplements
   in Bourne shell.
   (merge 57cee8a sg/help-group later to maint).

 * The experimental untracked-cache feature were buggy when paths with
   a few levels of subdirectories are involved.
   (merge 73f9145 dt/untracked-subdir later to maint).

 * "interpret-trailers" helper mistook a single-liner log message that
   has a colon as the end of existing trailer.

 * The "interpret-trailers" helper mistook a multi-paragraph title of
   a commit log message with a colon in it as the end of the trailer
   block.
   (merge 5c99995 cc/trailers-corner-case-fix later to maint).

 * "git describe" without argument defaulted to describe the HEAD
   commit, but "git describe --contains" didn't.  Arguably, in a
   repository used for active development, such defaulting would not
   be very useful as the tip of branch is typically not tagged, but it
   is better to be consistent.
   (merge 2bd0706 sg/describe-contains later to maint).

 * The client side codepaths in "git push" have been cleaned up
   and the user can request to perform an optional "signed push",
   i.e. sign only when the other end accepts signed push.
   (merge 68c757f db/push-sign-if-asked later to maint).

 * Because the configuration system does not allow "alias.0foo" and
   "pager.0foo" as the configuration key, the user cannot use '0foo'
   as a custom command name anyway, but "git 0foo" tried to look these
   keys up and emitted useless warnings before saying '0foo is not a
   git command'.  These warning messages have been squelched.
   (merge 9e9de18 jk/fix-alias-pager-config-key-warnings later to maint).

 * "git rev-list" does not take "--notes" option, but did \ 
not complain
   when one is given.
   (merge 2aea7a5 jk/rev-list-has-no-notes later to maint).

 * When re-priming the cache-tree opportunistically while committing
   the in-core index as-is, we mistakenly invalidated the in-core
   index too aggressively, causing the experimental split-index code
   to unnecessarily rewrite the on-disk index file(s).
   (merge 475a344 \ 
dt/commit-preserve-base-index-upon-opportunistic-cache-tree-update later to \ 
maint).

 * "git archive" did not use zip64 extension when creating an archive
   with more than 64k entries, which nobody should need, right ;-)?
   (merge 88329ca rs/archive-zip-many later to maint).

 * The code in "multiple-worktree" support that attempted to recover
   from an inconsistent state updated an incorrect file.
   (merge 82fde87 nd/fixup-linked-gitdir later to maint).

 * On case insensitive systems, "git p4" did not work well with client
   specs.

 * "git init empty && git -C empty log" said "bad default \ 
revision 'HEAD'",
   which was found to be a bit confusing to new users.
   (merge ce11360 jk/log-missing-default-HEAD later to maint).

 * Recent versions of scripted "git am" has a performance regression in
   "git am --skip" codepath, which no longer exists in the built-in
   version on the 'master' front.  Fix the regression in the last
   scripted version that appear in 2.5.x maintenance track and older.
   (merge b9d6689 js/maint-am-skip-performance-regression later to maint).

 * The branch descriptions that are set with "git branch \ 
--edit-description"
   option were used in many places but they weren't clearly documented.
   (merge 561d2b7 po/doc-branch-desc later to maint).

 * Code cleanups and documentation updates.
   (merge 1c601af es/doc-clean-outdated-tools later to maint).
   (merge 3581304 kn/tag-doc-fix later to maint).
   (merge 3a59e59 kb/i18n-doc later to maint).
   (merge 45abdee sb/remove-unused-var-from-builtin-add later to maint).
   (merge 14691e3 sb/parse-options-codeformat later to maint).
   (merge 4a6ada3 ad/bisect-cleanup later to maint).
   (merge da4c5ad ta/docfix-index-format-tech later to maint).
   (merge ae25fd3 sb/check-return-from-read-ref later to maint).
   (merge b3325df nd/dwim-wildcards-as-pathspecs later to maint).
   (merge 7aa9b9b sg/wt-status-header-inclusion later to maint).
   (merge f04c690 as/docfix-reflog-expire-unreachable later to maint).
   (merge 1269847 sg/t3020-typofix later to maint).
   (merge 8b54c23 jc/calloc-pathspec later to maint).
   (merge a6926b8 po/po-readme later to maint).
   (merge 54d160e ss/fix-config-fd-leak later to maint).
   (merge b80fa84 ah/submodule-typofix-in-error later to maint).
   (merge 99885bc ah/reflog-typofix-in-error later to maint).
   (merge 9476c2c ah/read-tree-usage-string later to maint).
   (merge b8c1d27 ah/pack-objects-usage-strings later to maint).
   (merge 486e1e1 br/svn-doc-include-paths-config later to maint).
   (merge 1733ed3 ee/clean-test-fixes later to maint).
   (merge 5fcadc3 gb/apply-comment-typofix later to maint).
   (merge b894d3e mp/t7060-diff-index-test later to maint).
   (merge d238710 as/config-doc-markup-fix later to maint).
   2015-09-28 16:21:30 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
Changes 2.5.3:
 * The experimental untracked-cache feature were buggy when paths with
   a few levels of subdirectories are involved.

 * Recent versions of scripted "git am" has a performance regression
   in "git am --skip" codepath, which no longer exists in the
   built-in version on the 'master' front.  Fix the regression in
   the last scripted version that appear in 2.5.x maintenance track
   and older.

Also contains typofixes, documentation updates and trivial code
clean-ups.

Next | Query returned 134 messages, browsing 91 to 100 | Previous