{"thread":{"id":"43399","subject":"[ANNOUNCE] GIT 1.4.4","startedAt":"2006-11-15T07:43:17Z","lastAt":"2006-11-15T07:43:17Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"294624","messageId":"7vr6w5noiy.fsf@assigned-by-dhcp.cox.net","threadId":"43399","inReplyTo":null,"subject":"[ANNOUNCE] GIT 1.4.4","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-11-15T07:43:17Z","receivedAt":"2006-11-15T07:43:17Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The latest feature release GIT 1.4.4 is available at the usual\nplaces:\n\n  http://www.kernel.org/pub/software/scm/git/\n\n  git-1.4.4.tar.{gz,bz2}\t\t\t(tarball)\n  git-htmldocs-1.4.4.tar.{gz,bz2}\t\t(preformatted docs)\n  git-manpages-1.4.4.tar.{gz,bz2}\t\t(preformatted docs)\n  RPMS/$arch/git-*-1.4.4-1.$arch.rpm\t(RPM)\n\nQuite a lot of changes during the last month.\n\n - pack-refs, along with a lot of internal clean-up of the code\n   that deal with refs, is in.  A repository with many tags\n   would benefit from packing and pruning them.  Currently dumb\n   transports are not capable of fetching from a repository that\n   has packed and pruned its refs, so please keep that in mind.\n   Hopefully we will get an update for dumb transports shortly.\n\n - git native transport can now keep transferred packs without\n   exploding it into loose objects.  Also \"git repack\" can be\n   told to keep \"historical\" packs from getting repacked by\n   marking them with .keep file.  Docmentation update is\n   probably needed.\n\n - git-blame can now detect line movements across files.  No, it\n   is not called git-pickaxe.\n\n - a lot of gitweb and git-svn updates.\n\n----------------------------------------------------------------\n\nChanges since v1.4.3 are as follows:\n\nAlan Chandler:\n      Gitweb - provide site headers and footers\n\nAlex Riesen:\n      merge-recursive implicitely depends on trust_executable_bit\n\nAlexandre Julliard:\n      git.el: Added a function to open the current file in another window.\n      git.el: Added functions for moving to the next/prev unmerged file.\n      git.el: Include MERGE_MSG in the log-edit buffer even when not committing a merge.\n      git.el: Move point after the log message header when entering log-edit mode.\n      pack-refs: Store the full name of the ref even when packing only tags.\n      prune-packed: Fix uninitialized variable.\n\nAndy Parkins:\n      git-clone documentation didn't mention --origin as equivalent of -o\n      Make filenames line up in git-status output\n      Minor grammar fixes for git-diff-index.txt\n      Remove uneccessarily similar printf() from print_ref_list() in builtin-branch\n\nAndy Whitcroft:\n      cvsimport: move over to using git-for-each-ref to read refs.\n      git-for-each-ref: improve the documentation on scripting modes\n\nAneesh Kumar K.V:\n      gitweb: Remove extra \"/\" in path names for git_get_project_list\n\nChristian Couder:\n      Add pack-refs and show-ref test cases.\n      Add [-s|--hash] option to Linus' show-ref.\n      Check that a tag exists using show-ref instead of looking for the ref file.\n      Clean up \"git-branch.sh\" and add remove recursive dir test cases.\n      Documentation: add git in /etc/services.\n      Documentation: add upload-archive service to git-daemon.\n      Document git-show-ref [-s|--hash] option.\n      Do not create tag leading directories since git update-ref does it.\n      Fix a remove_empty_dir_recursive problem.\n      Fix show-ref usage for --dereference.\n      Remove --syslog in git-daemon inetd documentation examples.\n      Uncomment test case: git branch c/d should barf if branch c exists.\n      Use git-update-ref to delete a tag instead of rm()ing the ref file.\n      Use Linus' show ref in \"git-branch.sh\".\n      When creating branch c/d check that branch c does not already exists.\n\nDennis Stosberg:\n      lock_ref_sha1_basic does not remove empty directories on BSD\n      Remove bashism from t3210-pack-refs.sh\n      Bash completion support for aliases\n\nDmitry V. Levin:\n      git-clone: define die() and use it.\n\nEdgar Toernig:\n      Use memmove instead of memcpy for overlapping areas\n\nEric Wong:\n      git-send-email: do not pass custom Date: header\n      git-svn: avoid printing filenames of files we're not tracking\n      git-svn: don't die on rebuild when --upgrade is specified\n      git-svn: fix dcommit losing changes when out-of-date from svn\n      git-svn: fix symlink-to-file changes when using command-line svn 1.4.0\n\nGerrit Pape:\n      Set $HOME for selftests\n\nJ. Bruce Fields:\n      Make prune also run prune-packed\n      Documentation: updates to \"Everyday GIT\"\n\nJakub Narebski:\n      diff-format.txt: Combined diff format documentation supplement\n      diff-format.txt: Correct information about pathnames quoting in patch format\n      Documentation: Transplanting branch with git-rebase --onto\n      Documentation: Update information about <format> in git-for-each-ref\n      gitweb: Add \"next\" link to commitdiff view\n      gitweb: Add '..' (up directory) to tree view if applicable\n      gitweb: Better git-unquoting and gitweb-quoting of pathnames\n      gitweb: Better support for non-CSS aware web browsers\n      gitweb: Check git base URLs before generating URL from it\n      gitweb: Do not esc_html $basedir argument to git_print_tree_entry\n      gitweb: Filter out commit ID from @difftree in git_commit and git_commitdiff\n      gitweb: Get rid of git_print_simplified_log\n      gitweb: Improve git_print_page_path\n      gitweb: Move git_get_last_activity subroutine earlier\n      gitweb: New improved patchset view\n      gitweb: Output also empty patches in \"commitdiff\" view\n      gitweb: Print commit message without title in commitdiff only if there is any\n      gitweb: Secure against commit-ish/tree-ish with the same name as path\n      gitweb: Use character or octal escape codes (and add span.cntrl) in esc_path\n      gitweb: Use git-for-each-ref to generate list of heads and/or tags\n      gitweb: Use --no-commit-id in git_commit and git_commitdiff\n      gitweb: Use 's' regexp modifier to secure against filenames with LF\n      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2)\n\nJan Harkes:\n      Continue traversal when rev-list --unpacked finds a packed commit.\n\nJeff King:\n      wt-status: use simplified resolve_ref to find current branch\n      gitignore: git-pack-refs is a generated file.\n      gitignore: git-show-ref is a generated file.\n      git-pickaxe: work properly in a subdirectory.\n      Fix git-runstatus for repositories containing a file named HEAD\n\nJim Meyering:\n      Don't use $author_name undefined when $from contains no /\\s</.\n      git-clone: honor --quiet\n      xdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header.\n\nJohannes Schindelin:\n      Fix git-update-index --again\n      show-branch: mark active branch with a '*' again\n      Turn on recursive with --summary\n      link_temp_to_file: call adjust_shared_perm() only when we created the directory\n\nJohannes Sixt:\n      test-lib.sh: A command dying due to a signal is an unexpected failure.\n      Catch errors when writing an index that contains invalid objects.\n\nJonas Fonseca:\n      Add man page for git-show-ref\n      git-update-index(1): fix use of quoting in section title\n\nJunio C Hamano:\n      Add callback data to for_each_ref() family.\n      Add git-for-each-ref: helper for language bindings\n      adjust_shared_perm: chmod() only when needed.\n      apply: handle \"traditional\" creation/deletion diff correctly.\n      blame.c: move code to output metainfo into a separate function.\n      blame.c: whitespace and formatting clean-up.\n      blame: Document and add help text for -f, -n, and -p\n      branch: work in subdirectories.\n      cherry is built-in, do not ship git-cherry.sh\n      Clean-up lock-ref implementation\n      combine-diff: a few more finishing touches.\n      combine-diff: fix hunk_comment_line logic.\n      combine-diff: honour --no-commit-id\n      core.logallrefupdates create new log file only for branch heads.\n      core.logallrefupdates thinko-fix\n      daemon: do not die on older clients.\n      delete_ref(): delete packed ref\n      diff --numstat\n      Documentation: clarify refname disambiguation rules.\n      Documentation: fix git-format-patch mark-up and link it from git.txt\n      Documentation: move blame examples\n      Documentation: note about contrib/.\n      Documentation/SubmittingPatches: 3+1 != 6\n      Document git-pack-refs and link it to git(7).\n      Fix refs.c;:repack_without_ref() clean-up path\n      Fix t1400-update-ref test minimally\n      for-each-ref: \"creator\" and \"creatordate\" fields\n      fsck-objects: adjust to resolve_ref() clean-up.\n      GIT 1.4.3-rc1\n      GIT 1.4.4\n      GIT 1.4.4-rc2\n      git-annotate: fix -S on graft file with comments.\n      git-annotate: no need to exec blame; it is built-in now.\n      git-blame: add internal statistics to count read blobs.\n      git-blame --porcelain\n      git-blame: --show-name (and -f)\n      git-blame: --show-number (and -n)\n      git-branch: remove D/F check done by hand.\n      git-cvsserver: read from git with -z to get non-ASCII pathnames.\n      git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 1)\n      git-fetch: adjust to packed-refs.\n      git-fetch: do not look into $GIT_DIR/refs to see if a tag exists.\n      git-pack-refs --all\n      git-pack-refs --prune\n      git-pickaxe: allow -Ln,m as well as -L n,m\n      git-pickaxe: allow \"-L <something>,+N\"\n      git-pickaxe: blame rewritten.\n      git-pickaxe: cache one already found path per commit.\n      git-pickaxe -C: blame cut-and-pasted lines.\n      git-pickaxe: do not confuse two origins that are the same.\n      git-pickaxe: do not keep commit buffer.\n      git-pickaxe: fix nth_line()\n      git-pickaxe: fix origin refcounting\n      git-pickaxe: get rid of wasteful find_origin().\n      git-pickaxe: improve \"best match\" heuristics\n      git-pickaxe: introduce heuristics to avoid \"trivial\" chunks\n      git-pickaxe: -L /regexp/,/regexp/\n      git-pickaxe -M: blame line movements within a file.\n      git-pickaxe: optimize by avoiding repeated read_sha1_file().\n      git-pickaxe: pagenate output by default.\n      git-pickaxe: refcount origin correctly in find_copy_in_parent()\n      git-pickaxe: rename detection optimization\n      git-pickaxe: re-scan the blob after making progress with -C\n      git-pickaxe: re-scan the blob after making progress with -M\n      git-pickaxe: retire pickaxe\n      git-pickaxe: simplify Octopus merges further\n      git-pickaxe: split find_origin() into find_rename() and find_origin().\n      git-pickaxe: swap comparison loop used for -C\n      git-pickaxe: tighten sanity checks.\n      git-pickaxe: WIP to refcount origin structure.\n      git-repack: repo.usedeltabaseoffset\n      git-send-email: do not drop custom headers the user prepared\n      git-send-email: real name with period need to be dq-quoted on From: line\n      git-status: quote LF in its output\n      gitweb: do not give blame link unconditionally in diff-tree view\n      gitweb: fix disabling of \"forks\"\n      gitweb: fix unmatched div in commitdiff\n      gitweb: make leftmost column of blame less cluttered.\n      gitweb: minimally fix \"fork\" support.\n      gitweb: prepare for repositories with packed refs.\n      gitweb: protect blob and diff output lines from controls.\n      gitweb: protect commit messages from controls.\n      gitweb: spell \"blame --porcelain\" with -p\n      gitweb: use blame --porcelain\n      gitweb: use for-each-ref to show the latest activity across branches\n      grep --all-match\n      Introduce a new revision set operator <rev>^!\n      link_temp_to_file: don't leave the path truncated on adjust_shared_perm failure\n      lock_ref_sha1_basic: remove unused parameter \"plen\".\n      lock_ref_sha1(): check D/F conflict with packed ref when creating.\n      lock_ref_sha1(): do not sometimes error() and sometimes die().\n      Make git-send-email detect mbox-style patches more readily\n      merge: loosen overcautious \"working file will be lost\" check.\n      merge-recursive: adjust to loosened \"working file clobbered\" check\n      merge-recursive: make a few functions static.\n      merge-recursive: use abbreviated commit object name.\n      pack-objects: document --delta-base-offset option\n      pack-refs: call fflush before fsync.\n      pack-refs: do not pack symbolic refs.\n      pack-refs: fix git_path() usage.\n      pack-refs: use lockfile as everybody else does.\n      pager: default to LESS=FRS\n      pager: default to LESS=FRSX not LESS=FRS\n      path-list: fix path-list-insert return value\n      quote.c: ensure the same quoting across platforms.\n      receive-pack: call setup_ident before git_config\n      Refer to git-rev-parse:Specifying Revisions from git.txt\n      ref locking: allow 'foo' when 'foo/bar' used to exist but not anymore.\n      ref-log: allow ref@{count} syntax.\n      ref-log: fix D/F conflict coming from deleted refs.\n      refs: minor restructuring of cached refs data.\n      Revert 954a6183756a073723a7c9fd8d2feb13132876b0\n      Revert \"send-pack --keep: do not explode into loose objects on the receiving end.\"\n      revision traversal: --unpacked does not limit commit list anymore.\n      RPM package re-classification.\n      send-pack --keep: do not explode into loose objects on the receiving end.\n      sha1_name.c: avoid compilation warnings.\n      show-ref --hash=len, --abbrev=len, and --abbrev\n      Surround \"#define DEBUG 0\" with \"#ifndef DEBUG..#endif\"\n      symbolit-ref: fix resolve_ref conversion.\n      t3200: git-branch testsuite update\n      t6022: ignoring untracked files by merge-recursive when they do not matter\n      Teach receive-pack about ref-log\n      teach revision walker about --all-match.\n      Tell between packed, unpacked and symbolic refs.\n      tests: merge-recursive is usable without Python\n      update a few Porcelain-ish for ref lock safety.\n      Update cherry documentation.\n      update-ref: -d flag and ref creation safety.\n\nKarl Hasselström:\n      git-vc: better installation instructions\n      ignore-errors requires cl\n\nLars Hjemli:\n      Fix typo in show-index.c\n      Fix usagestring for git-branch\n      Make git-branch a builtin\n      Fix show-ref usagestring\n\nLinus Torvalds:\n      Add \"git show-ref\" builtin command\n      Teach \"git checkout\" to use git-show-ref\n      Start handling references internally as a sorted in-memory list\n      Add support for negative refs\n      Make ref resolution saner\n      Enable the packed refs file format\n      git-apply: prepare for upcoming GNU diff -u format change.\n      Allow '-' in config variable names\n      git push: add verbose flag and allow overriding of default target repository\n\nLuben Tuikov:\n      gitweb: blame: print commit-8 on the leading row of a commit-block\n      gitweb: blame: Mouse-over commit-8 shows author and date\n      gitweb: blame porcelain: lineno and orig lineno swapped\n      git-revert with conflicts to behave as git-merge with conflicts\n      gitweb: esc_html() author in blame\n\nMartin Waitz:\n      gitweb: start to generate PATH_INFO URLs.\n      gitweb: warn if feature cannot be overridden.\n\nMatthew Wilcox:\n      Add --dry-run option to git-send-email\n\nNguyễn Thái Ngọc Duy:\n      Reject hexstring longer than 40-bytes in get_short_sha1()\n      Add revspec documentation for ':path', ':[0-3]:path' and git-describe\n\nNicolas Pitre:\n      introduce delta objects with offset to base\n      teach git-unpack-objects about deltas with offset to base\n      teach git-index-pack about deltas with offset to base\n      make git-pack-objects able to create deltas with offset to base\n      make pack data reuse compatible with both delta types\n      let the GIT native protocol use offsets to delta base when possible\n      zap a debug remnant\n      allow delta data reuse even if base object is a preferred base\n      index-pack: compare only the first 20-bytes of the key.\n      reduce delta head inflated size\n      add the capability for index-pack to read from a stream\n      enable index-pack streaming capability\n      make index-pack able to complete thin packs.\n      add progress status to index-pack\n      mimic unpack-objects when --stdin is used with index-pack\n      enhance clone and fetch -k experience\n      index-pack: minor fixes to comment and function name\n      missing small substitution\n      pack-objects doesn't create random pack names\n      make git-push a bit more verbose\n      Allow pack header preprocessing before unpack-objects/index-pack.\n      git-fetch can use both --thin and --keep with fetch-pack now\n      improve fetch-pack's handling of kept packs\n      have index-pack create .keep file more carefully\n      remove .keep pack lock files when done with refs update\n      git-pack-objects progress flag documentation and cleanup\n\nOGAWA Hirofumi:\n      gitk: Fix nextfile() and add prevfile()\n\nPetr Baudis:\n      Fix broken sha1 locking\n      Fix buggy ref recording\n      gitweb: Document features better\n      gitweb: Fix search form when PATH_INFO is enabled\n      bisect reset: Leave the tree in usable state if git-checkout failed\n      gitweb: Fix setting $/ in parse_commit()\n      gitweb: Restore object-named links in item lists\n      gitweb: Make search type a popup menu\n      gitweb: Do not automatically append \" git\" to custom site name\n      gitweb: Show project's README.html if available\n      xdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines\n      gitweb: Support for 'forks'\n      gitweb: Fix up bogus $stylesheet declarations\n      Nicer error messages in case saving an object to db goes wrong\n\nRene Scharfe:\n      git-archive --format=zip: use default version ID\n      git-archive --format=zip: add symlink support\n      git-merge: show usage if run without arguments\n      Built-in cherry\n      Make git-cherry handle root trees\n      git-cherry: document limit and add diagram\n\nRobert Shearman:\n      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.\n      git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.\n      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.\n\nRobin Rosenberg:\n      Mention that pull can work locally in the synopsis\n      Swap the porcelain and plumbing commands in the git man page\n      Rework cvsexportcommit to handle binary files for all cases.\n\nRyan Anderson:\n      Remove git-annotate.perl and create a builtin-alias for git-blame\n\nSanti Béjar:\n      fetch: Misc output cleanup\n      merge and resolve: Output short hashes and .. in \"Updating ...\"\n      Documentation for the [remote] config\n\nSasha Khapyorsky:\n      git-svnimport.perl: copying directory from original SVN place\n      git-svnimport: support for partial imports\n\nSean Estabrooks:\n      Add --global option to git-repo-config.\n\nSergey Vlasov:\n      git-send-email: Document support for local sendmail instead of SMTP server\n      git-send-email: Read the default SMTP server from the GIT config file\n\nShawn Pearce:\n      Added completion support for git-branch.exe.\n      Added bash completion support for git-reset.\n      Use ULONG_MAX rather than implicit cast of -1.\n      Remove SIMPLE_PROGRAMS and make git-daemon a normal program.\n      Remove unsupported C99 style struct initializers in git-archive.\n      Added missing completions for show-branch and merge-base.\n      Only load .exe suffix'd completions on Cygwin.\n      Bash completion support for remotes in .git/config.\n      Take --git-dir into consideration during bash completion.\n      Support bash completion on symmetric difference operator.\n      Remove more sed invocations from within bash completion.\n      Use column indexes in git-cvsserver where necessary.\n      Allow short pack names to git-pack-objects --unpacked=.\n      Only repack active packs by skipping over kept packs.\n      Teach git-index-pack how to keep a pack file.\n      Remove unused variable in receive-pack.\n      Move deny_non_fast_forwards handling completely into receive-pack.\n      Teach receive-pack how to keep pack files based on object count.\n\nTero Roponen:\n      remove an unneeded test\n\nTuncer Ayaz:\n      git-fetch.sh printed protocol fix\n\n"}]}