Git development
 help / color / mirror / Atom feed
* What's new in git.git
@ 2006-02-06  7:52 Junio C Hamano
  2006-02-06 16:03 ` Linus Torvalds
  2006-02-07  8:40 ` Heads up, git.git approaches 1.2.0 Junio C Hamano
  0 siblings, 2 replies; 6+ messages in thread
From: Junio C Hamano @ 2006-02-06  7:52 UTC (permalink / raw)
  To: git

I was planning to do a 1.2.0 this weekend, but things slipped.
But in a good way.  We've had quite a long but good discussion
on how people expect "git commit paths..." to behave, and along
the way the command learned a couple of new tricks.

In 1.2.0, there will be three major changes that might surprise
people who are still using 1.1.0 based releases (e.g. 1.1.6).
People who followed the list traffic and/or the master branch
are familiar with them already:

 * Checkout -m option.  This allows you to switch branches when
   you have local changes to paths that are different in the
   current branch and new branch.

 * Add -c and --cc to diff-tree and diff-files.  They give the
   "combined diff" output that shows merges more human readably.

 * git-commit updates.

   - Allow git-commit from a subdirecotry.

   - Aborted "git-commit -a" leaves the index as it was.

   - "git commit --only paths..." checks in changes to only
     named paths.  We may later make this default for "git
     commit" with explicit paths.

   - Add --author='A U Thor <author@example.com>' command
     line option.

These are still in "pu" but I am expecting all of them would
graduate to "master" before 1.2.0:

 - git-show (Linus)
 - git-daemon updates (Mark Wooding)
 - git-http-fetch various fixes (Mark Wooding)
 - git-commit updates
 - git-read-tree --aggressive to speed up resolve merger
 - git-fmt-merge-msg to optionally put shortlog in merge commit log
 - fix git-rev-list --parents | git-diff-tree --stdin
 - git-rerere

^ permalink raw reply	[flat|nested] 6+ messages in thread
* What's new in git.git
@ 2006-01-09  1:20 Junio C Hamano
  0 siblings, 0 replies; 6+ messages in thread
From: Junio C Hamano @ 2006-01-09  1:20 UTC (permalink / raw)
  To: git

Latest maintenance release for GIT 1.0 (1.0.8) and the new
feature release GIT 1.1.0 have been pushed out.

Waiting in the proposed updates branch are two backward
incompatible changes.

 - Require packfiles to be named pack-[0-9a-f]{40}.pack, and
   issue an warning if [0-9a-f]{40} part does not match the SHA1
   checksum of sorted object names that are contained in the
   pack.  Later I would like to promote the warning to an error,
   and there is a tool to help renaming packs created with older
   git-pack-objects.  When the warning is promoted to an error,
   this will break existing packfiles.

 - Use textual symbolic refs to represent .git/HEAD everywhere,
   not just on filesystems without symbolic link supports.  This
   was proposed by Pavel mid November 2005, but is known to
   break Porcelains that read(2) from .git/HEAD and expect to
   read an object name for the current branch head (use "git
   rev-parse --verify HEAD" instead), and write(2) into
   .git/HEAD and expect to update the current branch head (use
   "git update-ref HEAD $commit [$old]" instead).  Last time I
   checked, gitweb would break with this change.

Also there are patches floating around to update format-patch
and rebase.  I rejected the initial round, but consider what
the latter wants to achieve a worthwhile goal, and expect to
update rebase in some form.

Now the core and the barebone Porcelain are more or less stable
and changes have significantly slowed down, I think it is a good
time to start revisiting the libification effort, started by
Smurf.  I haven't taken a look at his tree for a while.

Another area that needs attention is to see how we can improve
handling of merges between branches that have renamed things
(i.e. HPA's klibc repositories).  I'd also like to teach
renaming merge to resolve strategy somehow.

Other small things I have in mind, in random order, are:

 - Give extra option to "diff-tree -m -p" to show difference
   between natural merge among parents and the actual merge
   result.  I do not think this would make sense for non patch
   format.

 - The recent "git-daemon --base=/pub/git" is a good addition
   (git://host/frotz.git is mapped to /pub/git/frotz.git
   directory), but with the current implementation whitelist
   needs to start with /pub/git/.  I initially thought it was
   not so nice, but maybe it is OK; but this needs to be
   documented.  It also forbids user relative paths, which
   should be made an independent switch.

 - Also in "git-daemon", I outlined --strict-symlink option a
   while ago, which forbids symbolic links to step outside of
   whitelisted areas.  This has not been implemented, and we may
   want to add it.

 - Although Linus has been pretty negative about improving the
   current dumb http transport, many people seem to rely on it.
   It "works" with packfiles in the sense that it does not barf,
   but the server file packing strategy to reduce duplicated
   download needs to be worked out to make it more efficient.

 - If the same cloning requests are made number of times, we
   should be able to cache the packfile we sent out and reuse,
   to reduce the load on the server side.  When used with
   git-daemon, this requires the daemon to be able to write
   somewhere (not necessarily the original repository itself),
   so there is certain security implications.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-02-07  8:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-06  7:52 What's new in git.git Junio C Hamano
2006-02-06 16:03 ` Linus Torvalds
2006-02-06 16:58   ` Junio C Hamano
2006-02-06 17:10   ` Johannes Schindelin
2006-02-07  8:40 ` Heads up, git.git approaches 1.2.0 Junio C Hamano
  -- strict thread matches above, loose matches on Subject: below --
2006-01-09  1:20 What's new in git.git Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox