[ANNOUNCE] GIT 1.4.4

From: Junio C Hamano
Date: Wed Nov 15 2006 - 02:43:42 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/