Re: What's cooking in git.git (Aug 2014, #01; Fri, 1)

2014-08-06 Thread Jeff King
On Fri, Aug 01, 2014 at 03:01:31PM -0700, Junio C Hamano wrote:

 * jk/stash-list-p (2014-07-30) 7 commits
  - SQUASH??? future-proof, log --cc should imply -p without being told
  - stash: show combined diff with stash show
  - stash: default listing to --cc --simplify-combined-diff
  - add --simplify-combined-diff option
  - pretty: make empty userformats truly empty
  - pretty: treat --format= as an empty userformat
  - revision: drop useless string offset when parsing --pretty
 
  Teach git stash list -p to DWIM to git stash list -p --cc, with
  even nicer twist to collapse combined diff from identical two
  parents into a regular diff.

What do you want to do with this topic?

I think we want to drop the stash show patch, based on the discussion
we had.  The first three patches are nominally prep for that final
patch, but actually are things I've often wanted over the years. I'd be
glad if they made it in separately, but there were some compatibility
questions.

As clever as I find the --simplify-combined-diff patch, I think we came
to the conclusion that --first-parent is probably the reasonable
choice. It matches stash show, and it's simple and obvious. Do we just
want a patch to specify --first-parent to stash-log? That would make
-p just work. The only downside is that there isn't a good way to turn
it off. Is it enough to say if you want to do something clever, use
git-log?

Or do we want to scrap the whole thing and try to update the
documentation to make it more clear why -p by itself doesn't do
anything?

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


Re: What's cooking in git.git (Aug 2014, #01; Fri, 1)

2014-08-06 Thread Junio C Hamano
Jeff King p...@peff.net writes:

 On Fri, Aug 01, 2014 at 03:01:31PM -0700, Junio C Hamano wrote:

 * jk/stash-list-p (2014-07-30) 7 commits
  - SQUASH??? future-proof, log --cc should imply -p without being told
  - stash: show combined diff with stash show
  - stash: default listing to --cc --simplify-combined-diff
  - add --simplify-combined-diff option
  - pretty: make empty userformats truly empty
  - pretty: treat --format= as an empty userformat
  - revision: drop useless string offset when parsing --pretty
 
  Teach git stash list -p to DWIM to git stash list -p --cc, with
  even nicer twist to collapse combined diff from identical two
  parents into a regular diff.

 What do you want to do with this topic?

 I think we want to drop the stash show patch, based on the discussion
 we had.  The first three patches are nominally prep for that final
 patch, but actually are things I've often wanted over the years. I'd be
 glad if they made it in separately, but there were some compatibility
 questions.

I am not sure what compatibility you are worried about.  The empty
format one looks like a pure bugfix to me, and I agree that they
are good changes regardless of the remainder of the series.

 As clever as I find the --simplify-combined-diff patch, I think we came
 to the conclusion that --first-parent is probably the reasonable
 choice. It matches stash show, and it's simple and obvious. Do we just
 want a patch to specify --first-parent to stash-log? That would make
 -p just work. The only downside is that there isn't a good way to turn
 it off.

Perhaps we can add --no-first-parent to countermand it?

 Is it enough to say if you want to do something clever, use
 git-log?

 Or do we want to scrap the whole thing and try to update the
 documentation to make it more clear why -p by itself doesn't do
 anything?

The latter is the most conservative, but it may be too conservative
to be useful ;-).  Unless we stop advertising that stash list is a
thin wrapper around log -g with options that would be useful to
view the stash, which is a strange ref with useful reflog entries,
the --first-parent approach would be the most sensible, I would
say.  If we can dissociate stash list from log (in other words,
the set of options stash list takes does not have anything to do
with the underlying log, even though both may have -p to tell
them to give patches, etc.), it would be a totally different matter,
and it might give us a better future, but I suspect it might be a
bit too late for that.





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


What's cooking in git.git (Aug 2014, #01; Fri, 1)

2014-08-01 Thread Junio C Hamano
Here are the topics that have been cooking.  Commits prefixed with
'-' are only in 'pu' (proposed updates) while commits prefixed with
'+' are in 'next'.

First release candidate 2.1.0-rc1 expected early next week, after
merging a couple of obvious documentation update patches.

You can find the changes described here in the integration branches
of the repositories listed at

http://git-blame.blogspot.com/p/git-public-repositories.html

--
[Graduated to master]

* ep/avoid-test-a-o (2014-07-25) 1 commit
  (merged to 'next' on 2014-07-27 at 45de31d)
 + t9814: fix misconversion from test $a -o $b to test $a || test $b

 Fix a post v2.0 regression in 'master'.


* jk/more-push-completion (2014-07-22) 3 commits
  (merged to 'next' on 2014-07-28 at d1d4c27)
 + completion: complete `git push --force-with-lease=`
 + completion: add some missing options to `git push`
 + completion: complete unstuck `git push --recurse-submodules`


* sk/mingw-tests-workaround (2014-07-21) 6 commits
  (merged to 'next' on 2014-07-28 at 2f3b7ac)
 + t800[12]: work around MSys limitation
 + t9902: mingw-specific fix for gitfile link files
 + t4210: skip command-line encoding tests on mingw
 + MinGW: disable legacy encoding tests
 + t0110/MinGW: skip tests that pass arbitrary bytes on the command line
 + MinGW: Skip test redirecting to fd 4
 (this branch is used by jc/not-mingw-cygwin.)

 Make tests pass on msysgit by mostly disabling ones that are
 infeasible on that platform.


* sk/mingw-uni-fix-more (2014-07-21) 14 commits
  (merged to 'next' on 2014-07-28 at 0945196)
 + Win32: enable color output in Windows cmd.exe
 + Win32: patch Windows environment on startup
 + Win32: keep the environment sorted
 + Win32: use low-level memory allocation during initialization
 + Win32: reduce environment array reallocations
 + Win32: don't copy the environment twice when spawning child processes
 + Win32: factor out environment block creation
 + Win32: unify environment function names
 + Win32: unify environment case-sensitivity
 + Win32: fix environment memory leaks
 + Win32: Unicode environment (incoming)
 + Win32: Unicode environment (outgoing)
 + Revert Windows: teach getenv to do a case-sensitive search
 + tests: do not pass iso8859-1 encoded parameter

 Most of these are battle-tested in msysgit and are needed to
 complete what has been merged to 'master' already.

--
[New Topics]

* jk/stash-list-p (2014-07-30) 7 commits
 - SQUASH??? future-proof, log --cc should imply -p without being told
 - stash: show combined diff with stash show
 - stash: default listing to --cc --simplify-combined-diff
 - add --simplify-combined-diff option
 - pretty: make empty userformats truly empty
 - pretty: treat --format= as an empty userformat
 - revision: drop useless string offset when parsing --pretty

 Teach git stash list -p to DWIM to git stash list -p --cc, with
 even nicer twist to collapse combined diff from identical two
 parents into a regular diff.


* pr/remotes-in-hashmap (2014-07-30) 1 commit
 - use a hashmap to make remotes faster

 Optimize remotes configuration look-up in a repository with very
 many remotes defined.


* rs/ref-transaction-multi (2014-07-31) 5 commits
 - refs.c: make the *_packed_refs functions static
 - refs.c: make repack_without_refs static
 - remote.c: use a transaction for deleting refs
 - refs.c: write updates to packed refs when a transaction has more than one ref
 - refs.c: move reflog updates into its own function
 (this branch uses rs/ref-transaction, rs/ref-transaction-1, 
rs/ref-transaction-reflog and rs/ref-transaction-rename.)

 Follow-up on rs/ref-transaction series to use the packed-ref to
 achieve atomicity when multiple refs are involved.


* rs/ref-transaction-rename (2014-07-31) 5 commits
 - refs.c: rollback the lockfile before we die() in repack_without_refs
 - refs.c: update rename_ref to use a transaction
 - refs.c: use packed refs when deleting refs during a transaction
 - refs.c: return error instead of dying when locking fails during transaction
 - refs.c: allow passing raw git_committer_info as email to _update_reflog
 (this branch is used by rs/ref-transaction-multi; uses rs/ref-transaction, 
rs/ref-transaction-1 and rs/ref-transaction-reflog.)

 Follow-up on rs/ref-transaction series to make renaming a ref
 transactional (i.e. delete old and create new should not leave
 an in-between state behind when it fails).


* ta/doc-config (2014-07-30) 1 commit
  (merged to 'next' on 2014-07-31 at ec577fa)
 + add documentation for writing config files

 Will merge to 'master'.


* tf/maint-doc-push (2014-07-31) 1 commit
  (merged to 'next' on 2014-07-31 at 6a8ef70)
 + git-push: fix link in man page

 Will merge to 'master' and later to 'maint'.


* nd/lock-paths-absolute (2014-08-01) 3 commits
 - lockfile.c: store absolute path
 - lockfile.c: remove PATH_MAX limit in resolve_symlink()
 - lockfile.c: