Re: What's cooking in git.git (Jan 2013, #04; Wed, 9)

2013-01-11 Thread Duy Nguyen
On Thu, Jan 10, 2013 at 4:04 AM, Junio C Hamano gits...@pobox.com wrote:
 Here are the topics that have been cooking.  Commits prefixed with
 '-' are only in 'pu' (proposed updates) while commits prefixed with
 '+' are in 'next'.

I see you start to use no-change commits as a way to keep notes in
'pu'. Isn't git notes designed for that? Just wanted to understand why
you chose that way and maybe we could improve git-notes a bit to fit
this purpose.
-- 
Duy
--
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 (Jan 2013, #04; Wed, 9)

2013-01-11 Thread Junio C Hamano
Duy Nguyen pclo...@gmail.com writes:

 On Thu, Jan 10, 2013 at 4:04 AM, Junio C Hamano gits...@pobox.com wrote:
 Here are the topics that have been cooking.  Commits prefixed with
 '-' are only in 'pu' (proposed updates) while commits prefixed with
 '+' are in 'next'.

 I see you start to use no-change commits as a way to keep notes in
 'pu'. Isn't git notes designed for that?

It is not designed for this.

You could (ab)use notes for that purpose, but at the semantic level,
I do not think notes is a good match.

The branches 'pu' and its subset 'jch' (designed to be slightly
ahead of 'next', and this is what I regularly do my Git work with)
are rebuilt on top of 'master' in every integration cycle (like 2 to
3 times a day).  The insn to rebuild the latter currently looks like
this (familiarity with the Documentation/howto/maintain-git.txt
document in 'pu' would help understanding this section):

$ cat Meta/redo-jch.sh
Meta/Reintegrate \EOF
jc/format-patch-reroll
nd/retire-fnmatch
...
jk/maint-fast-import-doc-reorder
nd/upload-pack-shallow-must-be-commit
ap/log-mailmap
### match next
jc/doc-maintainer
mk/complete-tcsh
pe/doc-email-env-is-trumped-by-config
as/check-ignore
EOF

The Reintegrate machinery merges the topic listed on each line, and
the ### match next marks the point _between_ the two merges to
remind me that merging everything before this line to 'master' must
match what the 'next' branch has.  The markers on 'pu' are similar.

You can emulate that semantics by attaching a note to the merge
commit that merges ap/log-mailmap topic, but that is unwieldy, and
more importantly, it does not correctly express the meaning of the
marker.  I often reorder lines before that ### match next marker
between integration rounds, to float topics that are more ready than
others near the top, to make sure that they do not depend on other
topics and cause mismerges when merged to 'master' without others.
The next integration cycle may have ap/log-mailmap earlier, e.g.

$ cat Meta/redo-jch.sh
Meta/Reintegrate \EOF
nd/upload-pack-shallow-must-be-commit
ap/log-mailmap
jc/format-patch-reroll
...
jk/maint-fast-import-doc-reorder
nd/retire-fnmatch
### match next
jc/doc-maintainer
mk/complete-tcsh
...

and having a note on the previous merge of ap/log-mailmap does not
help expressing the semantics correctly.  It is not like I cease to
declare the merge of ap/log-mailmap ought to match 'next' and now
declare the merge of nk/retire-fnmatch ought to match 'next'.

It's much clearer to have the marker as a separate entity, as
opposed to emulating it with an attribute of a merge commit that
happens to be adjacent to what I really want to mark (i.e. a place
*between* two merge commits).

Another way you could use notes to emulate this is to give each
merge that comes before the marker line a note that says this merge
is before the marker line.  But it still is more work to present
the result as here is a sequence, then a marker, and then another
sequence, then another marker  In short, notes may be able to
emulate it but it is not the best tool for the job.

It is not like I'll be running format-patch and rebasing these
throw-away integration branches, so no-change commits are the best
way to express what I want to in the history.
--
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 (Jan 2013, #04; Wed, 9)

2013-01-09 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'.

So far, about 60 topics, most of which have been cooking since the
previous cycle, have been graduated to the 'master' branch in
preparation for the next release, which tentatively is called 1.8.2.
Many of these early topics are bugfixes and expected to later land
in the 'maint' branch for 1.8.1.1 release as well.

As usual, this cycle is expected to last for 8 to 10 weeks, with a
preview -rc0 sometime in the middle of next month.

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

--
[New Topics]

* nz/send-email-headers-are-case-insensitive (2013-01-06) 1 commit
 - git-send-email: treat field names as case-insensitively

 When user spells cc: in lowercase in the fake header in the
 trailer part, send-email failed to pick up the addresses from
 there. As e-mail headers field names are case insensitive, this
 script should follow suit and treat cc: and Cc: the same way.

 Will merge to 'next'.


* mk/complete-tcsh (2013-01-07) 1 commit
 - Prevent space after directories in tcsh completion

 Update tcsh command line completion so that an unwanted space is
 not added to a single directory name.

 Will merge to 'next'.


* dg/subtree-fixes (2013-01-08) 7 commits
 - contrib/subtree: mkdir the manual directory if needed
 - contrib/subtree: honor $(DESTDIR)
 - contrib/subtree: fix synopsis and command help
 - contrib/subtree: better error handling for add
 - contrib/subtree: add --unannotate option
 - contrib/subtree: use %B for split Subject/Body
 - t7900: remove test number comments

 contrib/subtree updates.

 Will merge to 'next'.


* ap/log-mailmap (2013-01-08) 11 commits
 - log --use-mailmap: optimize for cases without --author/--committer search
 - log: add log.mailmap configuration option
 - log: grep author/committer using mailmap
 - test: add test for --use-mailmap option
 - log: add --use-mailmap option
 - pretty: use mailmap to display username and email
 - mailmap: add mailmap structure to rev_info and pp
 - mailmap: simplify map_user() interface
 - mailmap: remove email copy and length limitation
 - Use split_ident_line to parse author and committer
 - string-list: allow case-insensitive string list

 Teach commands in the log family to optionally pay attention to
 the mailmap.

 Will merge to 'next'.


* nd/upload-pack-shallow-must-be-commit (2013-01-08) 1 commit
 - upload-pack: only accept commits from shallow line

 A minor consistency check patch that does not have much relevance
 to the real world.

 Will merge to 'next'.

--
[Graduated to master]

* ap/merge-stop-at-prepare-commit-msg-failure (2013-01-03) 1 commit
  (merged to 'next' on 2013-01-07 at 6790566)
 + merge: Honor prepare-commit-msg return code

 Originally merged to 'next' on 2013-01-04

 git merge started calling prepare-commit-msg hook like git
 commit does some time ago, but forgot to pay attention to the exit
 status of the hook.  t7505 may want a general clean-up but that is
 a different topic.


* as/test-name-alias-uniquely (2012-12-28) 1 commit
  (merged to 'next' on 2013-01-07 at 3b11c25)
 + Use longer alias names in subdirectory tests

 Originally merged to 'next' on 2013-01-02

 A few short-and-bland aliases used in the tests were interfering
 with git-custom command in user's $PATH.


* cc/no-gitk-build-dependency (2012-12-18) 3 commits
 + Makefile: replace echo 1... with echo ...
 + Makefile: detect when PYTHON_PATH changes
 + Makefile: remove tracking of TCLTK_PATH

 Remove leftover bits from an earlier change to move gitk in its own
 subdirectory.  Reimplementing the dependency tracking rules needs
 to be done in gitk history separately.


* er/python-version-requirements (2012-12-28) 1 commit
  (merged to 'next' on 2013-01-07 at 4954e27)
 + Add checks to Python scripts for version dependencies.

 Originally merged to 'next' on 2013-01-02

 Some python scripts we ship cannot be run with old versions of the
 interpreter.


* er/stop-recommending-parsecvs (2012-12-28) 1 commit
  (merged to 'next' on 2013-01-07 at 689f28f)
 + Remove the suggestion to use parsecvs, which is currently broken.

 Originally merged to 'next' on 2013-01-02

 Stop recommending a defunct third-party software.


* fc/remote-bzr (2013-01-02) 9 commits
  (merged to 'next' on 2013-01-07 at f8c0b76)
 + remote-bzr: detect local repositories
 + remote-bzr: add support for older versions of bzr
 + remote-bzr: add support to push special modes
 + remote-bzr: add support for fecthing special modes
 + remote-bzr: add simple tests
 + remote-bzr: update working tree upon pushing
 + remote-bzr: add support for remote repositories
 + remote-bzr: add support for pushing
 + Add new remote-bzr