[ANNOUNCE] GIT 1.4.4

Junio C Hamano junkio at cox.net
Wed Aug 31 21:59:53 BST 2011


The latest feature release GIT 1.4.4 is available at the usual
places:

  http://www.kernel.org/pub/software/scm/git/

  git-1.4.4.tar.{gz,bz2}			(tarball)
  git-htmldocs-1.4.4.tar.{gz,bz2}		(preformatted docs)
  git-manpages-1.4.4.tar.{gz,bz2}		(preformatted docs)
  RPMS/$arch/git-*-1.4.4-1.$arch.rpm	(RPM)

Quite a lot of changes during the last month.

 - pack-refs, along with a lot of internal clean-up of the code
   that deal with refs, is in.  A repository with many tags
   would benefit from packing and pruning them.  Currently dumb
   transports are not capable of fetching from a repository that
   has packed and pruned its refs, so please keep that in mind.
   Hopefully we will get an update for dumb transports shortly.

 - git native transport can now keep transferred packs without
   exploding it into loose objects.  Also "git repack" can be
   told to keep "historical" packs from getting repacked by
   marking them with .keep file.  Docmentation update is
   probably needed.

 - git-blame can now detect line movements across files.  No, it
   is not called git-pickaxe.

 - a lot of gitweb and git-svn updates.

----------------------------------------------------------------

Changes since v1.4.3 are as follows:

Alan Chandler:
      Gitweb - provide site headers and footers

Alex Riesen:
      merge-recursive implicitely depends on trust_executable_bit

Alexandre Julliard:
      git.el: Added a function to open the current file in another window.
      git.el: Added functions for moving to the next/prev unmerged file.
      git.el: Include MERGE_MSG in the log-edit buffer even when not committing a merge.
      git.el: Move point after the log message header when entering log-edit mode.
      pack-refs: Store the full name of the ref even when packing only tags.
      prune-packed: Fix uninitialized variable.

Andy Parkins:
      git-clone documentation didn't mention --origin as equivalent of -o
      Make filenames line up in git-status output
      Minor grammar fixes for git-diff-index.txt
      Remove uneccessarily similar printf() from print_ref_list() in builtin-branch

Andy Whitcroft:
      cvsimport: move over to using git-for-each-ref to read refs.
      git-for-each-ref: improve the documentation on scripting modes

Aneesh Kumar K.V:
      gitweb: Remove extra "/" in path names for git_get_project_list

Christian Couder:
      Add pack-refs and show-ref test cases.
      Add [-s|--hash] option to Linus' show-ref.
      Check that a tag exists using show-ref instead of looking for the ref file.
      Clean up "git-branch.sh" and add remove recursive dir test cases.
      Documentation: add git in /etc/services.
      Documentation: add upload-archive service to git-daemon.
      Document git-show-ref [-s|--hash] option.
      Do not create tag leading directories since git update-ref does it.
      Fix a remove_empty_dir_recursive problem.
      Fix show-ref usage for --dereference.
      Remove --syslog in git-daemon inetd documentation examples.
      Uncomment test case: git branch c/d should barf if branch c exists.
      Use git-update-ref to delete a tag instead of rm()ing the ref file.
      Use Linus' show ref in "git-branch.sh".
      When creating branch c/d check that branch c does not already exists.

Dennis Stosberg:
      lock_ref_sha1_basic does not remove empty directories on BSD
      Remove bashism from t3210-pack-refs.sh
      Bash completion support for aliases

Dmitry V. Levin:
      git-clone: define die() and use it.

Edgar Toernig:
      Use memmove instead of memcpy for overlapping areas

Eric Wong:
      git-send-email: do not pass custom Date: header
      git-svn: avoid printing filenames of files we're not tracking
      git-svn: don't die on rebuild when --upgrade is specified
      git-svn: fix dcommit losing changes when out-of-date from svn
      git-svn: fix symlink-to-file changes when using command-line svn 1.4.0

Gerrit Pape:
      Set $HOME for selftests

J. Bruce Fields:
      Make prune also run prune-packed
      Documentation: updates to "Everyday GIT"

Jakub Narebski:
      diff-format.txt: Combined diff format documentation supplement
      diff-format.txt: Correct information about pathnames quoting in patch format
      Documentation: Transplanting branch with git-rebase --onto
      Documentation: Update information about <format> in git-for-each-ref
      gitweb: Add "next" link to commitdiff view
      gitweb: Add '..' (up directory) to tree view if applicable
      gitweb: Better git-unquoting and gitweb-quoting of pathnames
      gitweb: Better support for non-CSS aware web browsers
      gitweb: Check git base URLs before generating URL from it
      gitweb: Do not esc_html $basedir argument to git_print_tree_entry
      gitweb: Filter out commit ID from @difftree in git_commit and git_commitdiff
      gitweb: Get rid of git_print_simplified_log
      gitweb: Improve git_print_page_path
      gitweb: Move git_get_last_activity subroutine earlier
      gitweb: New improved patchset view
      gitweb: Output also empty patches in "commitdiff" view
      gitweb: Print commit message without title in commitdiff only if there is any
      gitweb: Secure against commit-ish/tree-ish with the same name as path
      gitweb: Use character or octal escape codes (and add span.cntrl) in esc_path
      gitweb: Use git-for-each-ref to generate list of heads and/or tags
      gitweb: Use --no-commit-id in git_commit and git_commitdiff
      gitweb: Use 's' regexp modifier to secure against filenames with LF
      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2)

Jan Harkes:
      Continue traversal when rev-list --unpacked finds a packed commit.

Jeff King:
      wt-status: use simplified resolve_ref to find current branch
      gitignore: git-pack-refs is a generated file.
      gitignore: git-show-ref is a generated file.
      git-pickaxe: work properly in a subdirectory.
      Fix git-runstatus for repositories containing a file named HEAD

Jim Meyering:
      Don't use $author_name undefined when $from contains no /\s</.
      git-clone: honor --quiet
      xdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header.

Johannes Schindelin:
      Fix git-update-index --again
      show-branch: mark active branch with a '*' again
      Turn on recursive with --summary
      link_temp_to_file: call adjust_shared_perm() only when we created the directory

Johannes Sixt:
      test-lib.sh: A command dying due to a signal is an unexpected failure.
      Catch errors when writing an index that contains invalid objects.

Jonas Fonseca:
      Add man page for git-show-ref
      git-update-index(1): fix use of quoting in section title

Junio C Hamano:
      Add callback data to for_each_ref() family.
      Add git-for-each-ref: helper for language bindings
      adjust_shared_perm: chmod() only when needed.
      apply: handle "traditional" creation/deletion diff correctly.
      blame.c: move code to output metainfo into a separate function.
      blame.c: whitespace and formatting clean-up.
      blame: Document and add help text for -f, -n, and -p
      branch: work in subdirectories.
      cherry is built-in, do not ship git-cherry.sh
      Clean-up lock-ref implementation
      combine-diff: a few more finishing touches.
      combine-diff: fix hunk_comment_line logic.
      combine-diff: honour --no-commit-id
      core.logallrefupdates create new log file only for branch heads.
      core.logallrefupdates thinko-fix
      daemon: do not die on older clients.
      delete_ref(): delete packed ref
      diff --numstat
      Documentation: clarify refname disambiguation rules.
      Documentation: fix git-format-patch mark-up and link it from git.txt
      Documentation: move blame examples
      Documentation: note about contrib/.
      Documentation/SubmittingPatches: 3+1 != 6
      Document git-pack-refs and link it to git(7).
      Fix refs.c;:repack_without_ref() clean-up path
      Fix t1400-update-ref test minimally
      for-each-ref: "creator" and "creatordate" fields
      fsck-objects: adjust to resolve_ref() clean-up.
      GIT 1.4.3-rc1
      GIT 1.4.4
      GIT 1.4.4-rc2
      git-annotate: fix -S on graft file with comments.
      git-annotate: no need to exec blame; it is built-in now.
      git-blame: add internal statistics to count read blobs.
      git-blame --porcelain
      git-blame: --show-name (and -f)
      git-blame: --show-number (and -n)
      git-branch: remove D/F check done by hand.
      git-cvsserver: read from git with -z to get non-ASCII pathnames.
      git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 1)
      git-fetch: adjust to packed-refs.
      git-fetch: do not look into $GIT_DIR/refs to see if a tag exists.
      git-pack-refs --all
      git-pack-refs --prune
      git-pickaxe: allow -Ln,m as well as -L n,m
      git-pickaxe: allow "-L <something>,+N"
      git-pickaxe: blame rewritten.
      git-pickaxe: cache one already found path per commit.
      git-pickaxe -C: blame cut-and-pasted lines.
      git-pickaxe: do not confuse two origins that are the same.
      git-pickaxe: do not keep commit buffer.
      git-pickaxe: fix nth_line()
      git-pickaxe: fix origin refcounting
      git-pickaxe: get rid of wasteful find_origin().
      git-pickaxe: improve "best match" heuristics
      git-pickaxe: introduce heuristics to avoid "trivial" chunks
      git-pickaxe: -L /regexp/,/regexp/
      git-pickaxe -M: blame line movements within a file.
      git-pickaxe: optimize by avoiding repeated read_sha1_file().
      git-pickaxe: pagenate output by default.
      git-pickaxe: refcount origin correctly in find_copy_in_parent()
      git-pickaxe: rename detection optimization
      git-pickaxe: re-scan the blob after making progress with -C
      git-pickaxe: re-scan the blob after making progress with -M
      git-pickaxe: retire pickaxe
      git-pickaxe: simplify Octopus merges further
      git-pickaxe: split find_origin() into find_rename() and find_origin().
      git-pickaxe: swap comparison loop used for -C
      git-pickaxe: tighten sanity checks.
      git-pickaxe: WIP to refcount origin structure.
      git-repack: repo.usedeltabaseoffset
      git-send-email: do not drop custom headers the user prepared
      git-send-email: real name with period need to be dq-quoted on From: line
      git-status: quote LF in its output
      gitweb: do not give blame link unconditionally in diff-tree view
      gitweb: fix disabling of "forks"
      gitweb: fix unmatched div in commitdiff
      gitweb: make leftmost column of blame less cluttered.
      gitweb: minimally fix "fork" support.
      gitweb: prepare for repositories with packed refs.
      gitweb: protect blob and diff output lines from controls.
      gitweb: protect commit messages from controls.
      gitweb: spell "blame --porcelain" with -p
      gitweb: use blame --porcelain
      gitweb: use for-each-ref to show the latest activity across branches
      grep --all-match
      Introduce a new revision set operator <rev>^!
      link_temp_to_file: don't leave the path truncated on adjust_shared_perm failure
      lock_ref_sha1_basic: remove unused parameter "plen".
      lock_ref_sha1(): check D/F conflict with packed ref when creating.
      lock_ref_sha1(): do not sometimes error() and sometimes die().
      Make git-send-email detect mbox-style patches more readily
      merge: loosen overcautious "working file will be lost" check.
      merge-recursive: adjust to loosened "working file clobbered" check
      merge-recursive: make a few functions static.
      merge-recursive: use abbreviated commit object name.
      pack-objects: document --delta-base-offset option
      pack-refs: call fflush before fsync.
      pack-refs: do not pack symbolic refs.
      pack-refs: fix git_path() usage.
      pack-refs: use lockfile as everybody else does.
      pager: default to LESS=FRS
      pager: default to LESS=FRSX not LESS=FRS
      path-list: fix path-list-insert return value
      quote.c: ensure the same quoting across platforms.
      receive-pack: call setup_ident before git_config
      Refer to git-rev-parse:Specifying Revisions from git.txt
      ref locking: allow 'foo' when 'foo/bar' used to exist but not anymore.
      ref-log: allow ref@{count} syntax.
      ref-log: fix D/F conflict coming from deleted refs.
      refs: minor restructuring of cached refs data.
      Revert 954a6183756a073723a7c9fd8d2feb13132876b0
      Revert "send-pack --keep: do not explode into loose objects on the receiving end."
      revision traversal: --unpacked does not limit commit list anymore.
      RPM package re-classification.
      send-pack --keep: do not explode into loose objects on the receiving end.
      sha1_name.c: avoid compilation warnings.
      show-ref --hash=len, --abbrev=len, and --abbrev
      Surround "#define DEBUG 0" with "#ifndef DEBUG..#endif"
      symbolit-ref: fix resolve_ref conversion.
      t3200: git-branch testsuite update
      t6022: ignoring untracked files by merge-recursive when they do not matter
      Teach receive-pack about ref-log
      teach revision walker about --all-match.
      Tell between packed, unpacked and symbolic refs.
      tests: merge-recursive is usable without Python
      update a few Porcelain-ish for ref lock safety.
      Update cherry documentation.
      update-ref: -d flag and ref creation safety.

Karl Hasselström:
      git-vc: better installation instructions
      ignore-errors requires cl

Lars Hjemli:
      Fix typo in show-index.c
      Fix usagestring for git-branch
      Make git-branch a builtin
      Fix show-ref usagestring

Linus Torvalds:
      Add "git show-ref" builtin command
      Teach "git checkout" to use git-show-ref
      Start handling references internally as a sorted in-memory list
      Add support for negative refs
      Make ref resolution saner
      Enable the packed refs file format
      git-apply: prepare for upcoming GNU diff -u format change.
      Allow '-' in config variable names
      git push: add verbose flag and allow overriding of default target repository

Luben Tuikov:
      gitweb: blame: print commit-8 on the leading row of a commit-block
      gitweb: blame: Mouse-over commit-8 shows author and date
      gitweb: blame porcelain: lineno and orig lineno swapped
      git-revert with conflicts to behave as git-merge with conflicts
      gitweb: esc_html() author in blame

Martin Waitz:
      gitweb: start to generate PATH_INFO URLs.
      gitweb: warn if feature cannot be overridden.

Matthew Wilcox:
      Add --dry-run option to git-send-email

Nguyễn Thái Ngọc Duy:
      Reject hexstring longer than 40-bytes in get_short_sha1()
      Add revspec documentation for ':path', ':[0-3]:path' and git-describe

Nicolas Pitre:
      introduce delta objects with offset to base
      teach git-unpack-objects about deltas with offset to base
      teach git-index-pack about deltas with offset to base
      make git-pack-objects able to create deltas with offset to base
      make pack data reuse compatible with both delta types
      let the GIT native protocol use offsets to delta base when possible
      zap a debug remnant
      allow delta data reuse even if base object is a preferred base
      index-pack: compare only the first 20-bytes of the key.
      reduce delta head inflated size
      add the capability for index-pack to read from a stream
      enable index-pack streaming capability
      make index-pack able to complete thin packs.
      add progress status to index-pack
      mimic unpack-objects when --stdin is used with index-pack
      enhance clone and fetch -k experience
      index-pack: minor fixes to comment and function name
      missing small substitution
      pack-objects doesn't create random pack names
      make git-push a bit more verbose
      Allow pack header preprocessing before unpack-objects/index-pack.
      git-fetch can use both --thin and --keep with fetch-pack now
      improve fetch-pack's handling of kept packs
      have index-pack create .keep file more carefully
      remove .keep pack lock files when done with refs update
      git-pack-objects progress flag documentation and cleanup

OGAWA Hirofumi:
      gitk: Fix nextfile() and add prevfile()

Petr Baudis:
      Fix broken sha1 locking
      Fix buggy ref recording
      gitweb: Document features better
      gitweb: Fix search form when PATH_INFO is enabled
      bisect reset: Leave the tree in usable state if git-checkout failed
      gitweb: Fix setting $/ in parse_commit()
      gitweb: Restore object-named links in item lists
      gitweb: Make search type a popup menu
      gitweb: Do not automatically append " git" to custom site name
      gitweb: Show project's README.html if available
      xdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines
      gitweb: Support for 'forks'
      gitweb: Fix up bogus $stylesheet declarations
      Nicer error messages in case saving an object to db goes wrong

Rene Scharfe:
      git-archive --format=zip: use default version ID
      git-archive --format=zip: add symlink support
      git-merge: show usage if run without arguments
      Built-in cherry
      Make git-cherry handle root trees
      git-cherry: document limit and add diagram

Robert Shearman:
      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.
      git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.
      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.

Robin Rosenberg:
      Mention that pull can work locally in the synopsis
      Swap the porcelain and plumbing commands in the git man page
      Rework cvsexportcommit to handle binary files for all cases.

Ryan Anderson:
      Remove git-annotate.perl and create a builtin-alias for git-blame

Santi Béjar:
      fetch: Misc output cleanup
      merge and resolve: Output short hashes and .. in "Updating ..."
      Documentation for the [remote] config

Sasha Khapyorsky:
      git-svnimport.perl: copying directory from original SVN place
      git-svnimport: support for partial imports

Sean Estabrooks:
      Add --global option to git-repo-config.

Sergey Vlasov:
      git-send-email: Document support for local sendmail instead of SMTP server
      git-send-email: Read the default SMTP server from the GIT config file

Shawn Pearce:
      Added completion support for git-branch.exe.
      Added bash completion support for git-reset.
      Use ULONG_MAX rather than implicit cast of -1.
      Remove SIMPLE_PROGRAMS and make git-daemon a normal program.
      Remove unsupported C99 style struct initializers in git-archive.
      Added missing completions for show-branch and merge-base.
      Only load .exe suffix'd completions on Cygwin.
      Bash completion support for remotes in .git/config.
      Take --git-dir into consideration during bash completion.
      Support bash completion on symmetric difference operator.
      Remove more sed invocations from within bash completion.
      Use column indexes in git-cvsserver where necessary.
      Allow short pack names to git-pack-objects --unpacked=.
      Only repack active packs by skipping over kept packs.
      Teach git-index-pack how to keep a pack file.
      Remove unused variable in receive-pack.
      Move deny_non_fast_forwards handling completely into receive-pack.
      Teach receive-pack how to keep pack files based on object count.

Tero Roponen:
      remove an unneeded test

Tuncer Ayaz:
      git-fetch.sh printed protocol fix


-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the git-announce mailing list