Link [ pkgsrc | NetBSD | pkgsrc git mirror | PR fulltext-search | netbsd commit viewer ]


   
        usage: [branch:branch] [user:user] [path[@revision]] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN pkgtools/pkg)




switch to index mode

recent branches: MAIN (25m)  pkgsrc-2024Q1 (6d)  pkgsrc-2023Q4 (53d)  pkgsrc-2023Q2 (85d)  pkgsrc-2023Q3 (164d) 

2024-05-23 17:07:57 UTC Now

2008-04-21 01:09:51 UTC MAIN commitmail json YAML

Update devel/scmgit [1.5.4.5 -> 1.5.5]

  The scmgit-base package now installs most of its binaries, e.g. git-*,
  to ${PREFIX}/libexec/git-core/ instead of ${PREFIX}/bin.  There are
  only two programs under ${LOCALBASE}/bin: the "master" git(7) wrapper
  program and the gitk tcl/tk repository browser.  Given that there are
  many different GIT interfaces (GUI applications, devel/tig, shell
  completion scripts, etc.), it seemed needless to me to have 120+
  binaries--a vast majority of which most users would seldom invoke
  directly--polluting ${LOCALBASE}/bin.

GIT v1.5.5 Release Notes
========================

Updates since v1.5.4
--------------------

(subsystems)

* Comes with git-gui 0.10.1

(portability)

* We shouldn't ask for BSD group ownership semantics by setting g+s bit
  on directories on older BSD systems that refuses chmod() by non root
  users.  BSD semantics is the default there anyway.

* Bunch of portability improvement patches coming from an effort to port
  to Solaris has been applied.

(performance)

* On platforms with suboptimal qsort(3) implementation, there
  is an option to use more reasonable substitute we ship with
  our software.

* New configuration variable "pack.packsizelimit" can be used
  in place of command line option --max-pack-size.

* "git fetch" over the native git protocol used to make a
  connection to find out the set of current remote refs and
  another to actually download the pack data.  We now use only
  one connection for these tasks.

* "git commit" does not run lstat(2) more than necessary
  anymore.

(usability, bells and whistles)

* Bash completion script (in contrib) are aware of more commands and
  options.

* You can be warned when core.autocrlf conversion is applied in
  such a way that results in an irreversible conversion.

* A catch-all "color.ui" configuration variable can be used to
  enable coloring of all color-capable commands, instead of
  individual ones such as "color.status" and "color.branch".

* The commands refused to take absolute pathnames where they
  require pathnames relative to the work tree or the current
  subdirectory.  They now can take absolute pathnames in such a
  case as long as the pathnames do not refer outside of the
  work tree.  E.g. "git add $(pwd)/foo" now works.

* Error messages used to be sent to stderr, only to get hidden,
  when $PAGER was in use.  They now are sent to stdout along
  with the command output to be shown in the $PAGER.

* A pattern "foo/" in .gitignore file now matches a directory
  "foo".  Pattern "foo" also matches as before.

* bash completion's prompt helper function can talk about
  operation in-progress (e.g. merge, rebase, etc.).

* Configuration variables "url.<usethis>.insteadof = <otherurl>" can be
  used to tell "git-fetch" and "git-push" to use different URL than what
  is given from the command line.

* "git add -i" behaves better even before you make an initial commit.

* "git am" refused to run from a subdirectory without a good reason.

* After "git apply --whitespace=fix" fixes whitespace errors in a patch,
  a line before the fix can appear as a context or preimage line in a
  later patch, causing the patch not to apply.  The command now knows to
  see through whitespace fixes done to context lines to successfully
  apply such a patch series.

* "git branch" (and "git checkout -b") to branch from a local branch can
  optionally set "branch.<name>.merge" to mark the new branch to build on
  the other local branch, when "branch.autosetupmerge" is set to
  "always", or when passing the command line option "--track" (this option
  was ignored when branching from local branches).  By default, this does
  not happen when branching from a local branch.

* "git checkout" to switch to a branch that has "branch.<name>.merge" set
  (i.e. marked to build on another branch) reports how much the branch
  and the other branch diverged.

* When "git checkout" has to update a lot of paths, it used to be silent
  for 4 seconds before it showed any progress report.  It is now a bit
  more impatient and starts showing progress report early.

* "git commit" learned a new hook "prepare-commit-msg" that can
  inspect what is going to be committed and prepare the commit
  log message template to be edited.

* "git cvsimport" can now take more than one -M options.

* "git describe" learned to limit the tags to be used for
  naming with --match option.

* "git describe --contains" now barfs when the named commit
  cannot be described.

* "git describe --exact-match" describes only commits that are tagged.

* "git describe --long" describes a tagged commit as $tag-0-$sha1,
  instead of just showing the exact tagname.

* "git describe" warns when using a tag whose name and path contradict
  with each other.

* "git diff" learned "--relative" option to limit and output paths
  relative to the current directory when working in a subdirectory.

* "git diff" learned "--dirstat" option to show birds-eye-summary of
  changes more concisely than "--diffstat".

* "git format-patch" learned --cover-letter option to generate a cover
  letter template.

* "git gc" learned --quiet option.

* "git gc" now automatically prunes unreachable objects that are two
  weeks old or older.

* "git gc --auto" can be disabled more easily by just setting gc.auto
  to zero.  It also tolerates more packfiles by default.

* "git grep" now knows "--name-only" is a synonym for the "-l" option.

* "git help <alias>" now reports "'git <alias>' is alias to <what>",
  instead of saying "No manual entry for git-<alias>".

* "git help" can use different backends to show manual pages and this can
  be configured using "man.viewer" configuration.

* "gitk" does not restore window position from $HOME/.gitk anymore (it
  still restores the size).

* "git log --grep=<what>" learned "--fixed-strings" option to look for
  <what> without treating it as a regular expression.

* "git gui" learned an auto-spell checking.

* "git push <somewhere> HEAD" and "git push <somewhere> +HEAD" works as
  expected; they push the current branch (and only the current branch).
  In addition, HEAD can be written as the value of "remote.<there>.push"
  configuration variable.

* When the configuration variable "pack.threads" is set to 0, "git
  repack" auto detects the number of CPUs and uses that many threads.

* "git send-email" learned to prompt for passwords
  interactively.

* "git send-email" learned an easier way to suppress CC
  recipients.

* "git stash" learned "pop" command, that applies the latest stash and
  removes it from the stash, and "drop" command to discard the named
  stash entry.

* "git submodule" learned a new subcommand "summary" to show the
  symmetric difference between the HEAD version and the work tree version
  of the submodule commits.

* Various "git cvsimport", "git cvsexportcommit", "git cvsserver",
  "git svn" and "git p4" improvements.

(internal)

* Duplicated code between git-help and git-instaweb that
  launches user's preferred browser has been refactored.

* It is now easier to write test scripts that records known
  breakages.

* "git checkout" is rewritten in C.

* "git remote" is rewritten in C.

* Two conflict hunks that are separated by a very short span of common
  lines are now coalesced into one larger hunk, to make the result easier
  to read.

* Run-command API's use of file descriptors is documented clearer and
  is more consistent now.

* diff output can be sent to FILE * that is different from stdout.  This
  will help reimplementing more things in C.

Fixes since v1.5.4
------------------

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

* "git-http-push" did not allow deletion of remote ref with the usual
  "push <remote> :<branch>" syntax.

* "git-rebase --abort" did not go back to the right location if
  "git-reset" was run during the "git-rebase" session.

* "git imap-send" without setting imap.host did not error out but
  segfaulted.

(bjs)