Git development
 help / color / mirror / Atom feed
* Re: 'git diff' in rebase--interactive
From: Johannes Sixt @ 2007-10-09 12:35 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Git Mailing List
In-Reply-To: <Pine.LNX.4.64.0710091319400.4174@racer.site>

Johannes Schindelin schrieb:
> On Tue, 9 Oct 2007, Johannes Sixt wrote:
> 
>> I wonder for what reason rebase--interactive generates a patch using 
>> 'git diff' in the make_patch function. Is this an artefact?
> 
> It was an explicit request by people who use git-rebase regularly, and 
> missed being able to see the patch in --interactive.

Can we generate the patch with plumbing, diff-{files,index,tree}? They 
by-pass any diff drivers.

>> I'd like to get rid of this use of 'git diff' because it invokes 
>> external diff drivers, which is totally unwanted if the driver is 
>> interactive - like the 'windiff' thing that I posted a week ago.
> 
> So you do not want to be able to run git-rebase (without -i)?

It wouldn't work anyway in my use-case (versioned Word documents), but 
rebase -m and rebase -i could run without manual intervention as long as 
there are no content merges.

In this particular case, I only wanted to amend the message of a commit 3 
steps down in the history, and I had not expected any diff drivers to be 
fired up.

-- Hannes

^ permalink raw reply

* Re: 'git diff' in rebase--interactive
From: Johannes Schindelin @ 2007-10-09 12:22 UTC (permalink / raw)
  To: Johannes Sixt; +Cc: Git Mailing List
In-Reply-To: <470B410F.1040506@viscovery.net>

Hi,

On Tue, 9 Oct 2007, Johannes Sixt wrote:

> I wonder for what reason rebase--interactive generates a patch using 
> 'git diff' in the make_patch function. Is this an artefact?

It was an explicit request by people who use git-rebase regularly, and 
missed being able to see the patch in --interactive.

> I'd like to get rid of this use of 'git diff' because it invokes 
> external diff drivers, which is totally unwanted if the driver is 
> interactive - like the 'windiff' thing that I posted a week ago.

So you do not want to be able to run git-rebase (without -i)?

Ciao,
Dscho

^ permalink raw reply

* Re: git: avoiding merges, rebasing
From: Bruno Haible @ 2007-10-09 12:03 UTC (permalink / raw)
  To: Benoit SIGOURE; +Cc: bug-gnulib, git list
In-Reply-To: <07BCEF3E-90DE-4BB7-8A8C-F03D12293B5F@lrde.epita.fr>

[-- Attachment #1: Type: text/plain, Size: 2146 bytes --]

Hello Benoit,

Thanks for working on this. But this merge driver has a few major nits.


1) While my ChangeLog file was locally unmodified but some pulled in commits
   should modify it, "git pull" stopped and said:

ChangeLog: needs update
fatal: Entry 'ChangeLog' not uptodate. Cannot merge.

[I cannot swear on this, because I did not do a "git status" before the
"git pull", but this is in a directory where I usually have no pending diffs.]

The ChangeLog in question is the one from gnulib
(git clone git://git.sv.gnu.org/gnulib).


2) This "merge driver" did much more than sorting in a merge: it sorted the
entire file! In doing so,
  - It changed the order of ChangeLog entries in a way that does not represent
    the historical commit order.
  - For ChangeLog entries with multiple contributors, it shuffled around these
    extra contributors to other ChangeLog entries.
  - Near the end of the file, it made a change that I cannot explain.

Find attached a context diff of all the bad changes that it did.


In my opinion, a merge driver should not do changes to the file except
in the range of lines where the conflict occurred. For a ChangeLog driver,
all uncommitted entries should be collected at the top of the file, because
1. ChangeLogs are kept in the order of historical commit in the central
   repository,
2. other developers always look at the top of the ChangeLog; if a ChangeLog
   entries is inserted second or third after some already present entries,
   the danger is too high that the change gets unnoticed.

So "git-merge-changelog OLD CURRENT OTHERS" should IMO do the following:
1) Collect the changes between OLD and HEAD (I don't know if that is CURRENT
   or OTHERS?), in two categories:
     - added entries,
     - changed and removed entries.
2) Back out the added entries, keeping only the changed and removed entries
   as modifications.
3) Do a normal merge between this and the pulled in remote branch (I don't
   know if that is OTHERS or CURRENT?). If that merge gives a conflict,
   bail out.
4) Insert the added entries at the top, in the same order as they were
   originally (no sorting).

Bruno

[-- Attachment #2: git-merge-changelog-blunder --]
[-- Type: text/x-diff, Size: 43339 bytes --]

*** ChangeLog.orig	2007-10-09 13:16:56.000000000 +0200
--- ChangeLog	2007-10-09 13:12:29.000000000 +0200
***************
*** 3560,3569 ****
  	* doc/functions/lseek.texi: Update.
  	Reported by Gary V. Vaughan <gary@gnu.org>.
  
- 2007-05-28  Bruno Haible  <bruno@clisp.org>
- 
- 	* m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
- 
  2007-05-31  Eric Blake  <ebb9@byu.net>
  
  	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
--- 3560,3565 ----
***************
*** 3631,3636 ****
--- 3627,3636 ----
  	* m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
  	cross compiles.
  
+ 2007-05-28  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
+ 
  2007-05-28  Eric Blake  <ebb9@byu.net>
  
  	* modules/closein-tests (test_closein_LDADD): Support test on
***************
*** 4310,4319 ****
  	* doc/functions/vsnprintf.texi: Update.
  	* doc/functions/vsprintf.texi: Update.
  
- 2007-05-01  Bruno Haible  <bruno@clisp.org>
- 
- 	* tests/test-argp-2.sh (func_compare): Drop .exe suffix.
- 
  2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
  
  	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
--- 4310,4315 ----
***************
*** 4333,4338 ****
--- 4329,4338 ----
  
  2007-05-01  Bruno Haible  <bruno@clisp.org>
  
+ 	* tests/test-argp-2.sh (func_compare): Drop .exe suffix.
+ 
+ 2007-05-01  Bruno Haible  <bruno@clisp.org>
+ 
  	* doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
  	Reported by Eric Blake.
  	* doc/gnulib.texi (Function Substitutes): Update.
***************
*** 5358,5371 ****
  	* modules/crypto/rijndael-tests: Moved from ../.
  	* modules/crypto/sha1: Moved from ../.
  
- 2007-03-30  James Youngman  <jay@gnu.org>
- 
- 	* tests/test-stat-time.c (prepare_test): use chmod() rather than
- 	rename() to change the ctime of a file (because ctime is unaffected
- 	by rename on jfs2 on AIX 5.1).
- 	(main): Start by doing cleanup, in case a previous run failed leaving
- 	test files behind.
- 
  2007-03-31  Bruno Haible  <bruno@clisp.org>
  
  	Support old proprietary implementations of iconv.
--- 5358,5363 ----
***************
*** 5442,5447 ****
--- 5434,5447 ----
  	gnulib is available through git.
  	* doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
  
+ 2007-03-30  James Youngman  <jay@gnu.org>
+ 
+ 	* tests/test-stat-time.c (prepare_test): use chmod() rather than
+ 	rename() to change the ctime of a file (because ctime is unaffected
+ 	by rename on jfs2 on AIX 5.1).
+ 	(main): Start by doing cleanup, in case a previous run failed leaving
+ 	test files behind.
+ 
  2007-03-30  Bruno Haible  <bruno@clisp.org>
  
  	* lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
***************
*** 6010,6019 ****
  	* lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
  	arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
  
- 2007-03-22  Bruno Haible  <bruno@clisp.org>
- 
- 	* lib/strptime.c (__strptime_internal): Use ANSI C syntax.
- 
  2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
  
  	* MODULES.html.sh (File system functions): New module write-any-file.
--- 6010,6015 ----
***************
*** 6032,6037 ****
--- 6028,6037 ----
  
  2007-03-22  Bruno Haible  <bruno@clisp.org>
  
+ 	* lib/strptime.c (__strptime_internal): Use ANSI C syntax.
+ 
+ 2007-03-22  Bruno Haible  <bruno@clisp.org>
+ 
  	* lib/poll.c (MSG_PEEK): New fallback definition.
  
  2007-03-22  Bruno Haible  <bruno@clisp.org>
***************
*** 6284,6293 ****
  	* build-aux/bootstrap (gnulib_name): New variable.
  	(gnulib_tool_options): Use it.
  
- 2007-03-13  Simon Josefsson  <simon@josefsson.org>
- 
- 	* tests/test-des.c: Use new namespace.
- 
  2007-03-15  Bruno Haible  <bruno@clisp.org>
  
  	* lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
--- 6284,6289 ----
***************
*** 6364,6369 ****
--- 6360,6369 ----
  	* tests/test-rbtree_oset.c (main): Update.
  	* lib/gl_anytreehash_list1.h (add_to_bucket): Update.
  
+ 2007-03-13  Simon Josefsson  <simon@josefsson.org>
+ 
+ 	* tests/test-des.c: Use new namespace.
+ 
  2007-03-13  Bruno Haible  <bruno@clisp.org>
  
  	* tests/test-stdbool.c (i): Update after last patch.
***************
*** 6386,6395 ****
  	* build-aux/bootstrap: New file.
  	* build-aux/bootstrap.conf: New file, from coreutils.
  
- 2007-03-11  Bruno Haible  <bruno@clisp.org>
- 
- 	* m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
- 
  2007-03-12  Simon Josefsson  <simon@josefsson.org>
  
  	* lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
--- 6386,6391 ----
***************
*** 6398,6403 ****
--- 6394,6403 ----
  
  2007-03-11  Bruno Haible  <bruno@clisp.org>
  
+ 	* m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
+ 
+ 2007-03-11  Bruno Haible  <bruno@clisp.org>
+ 
  	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
  	compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
  
***************
*** 6519,6524 ****
--- 6519,6531 ----
  	* modules/dirname-tests (test_dirname_SOURCES): Remove redundant
  	variable.
  
+ 2007-03-10  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* lib/stdio_.h (__attribute__): New macro.
+ 	(fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
+ 	vsprintf): Specify __attribute__ __format__ for GCC.
+ 	Suggested by Eric Blake.
+ 
  2007-03-09  Eric Blake  <ebb9@byu.net>
  	and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
  
***************
*** 6527,6539 ****
  	(GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
  	types are supported.
  
- 2007-03-10  Bruno Haible  <bruno@clisp.org>
- 
- 	* lib/stdio_.h (__attribute__): New macro.
- 	(fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
- 	vsprintf): Specify __attribute__ __format__ for GCC.
- 	Suggested by Eric Blake.
- 
  2007-03-09  Bruno Haible  <bruno@clisp.org>
  
  	* modules/printf-posix-tests: New file.
--- 6534,6539 ----
***************
*** 6661,6703 ****
  
  	* m4/printf.m4: Make the shell script snippets copy&pastable.
  
- 2007-03-02  Bruno Haible  <bruno@clisp.org>
- 
- 	* lib/netinet_in_.h: New file.
- 	* m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
- 	is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
- 	* modules/netinet_in (Files): Add lib/netinet_in_.h.
- 	(Depends-on): Add absolute-header.
- 	(Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
- 	into netinet/in.h.
- 
- 2007-03-03  Bruno Haible  <bruno@clisp.org>
- 
- 	* lib/sys_select_.h: New file.
- 	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
- 	is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
- 	* modules/sys_select (Files): Add lib/sys_select_.h.
- 	(Depends-on): Add absolute-header.
- 	(Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
- 	into sys/select.h.
- 
- 2007-03-02  Bruno Haible  <bruno@clisp.org>
- 
- 	* lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
- 	before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
- 	values.
- 	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
- 	<sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
- 	HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
- 	* modules/sys_socket (Depends-on): Add absolute-header.
- 	(Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
- 	HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
- 	(Include): Remove requirement of inclusion of <sys/types.h>.
- 
- 2007-03-02  Bruno Haible  <bruno@clisp.org>
- 
- 	* lib/byteswap_.h (bswap_32): Fix formula.
- 
  2007-03-06  Bruno Haible  <bruno@clisp.org>
  
  	* modules/sprintf-posix-tests: New file.
--- 6661,6666 ----
***************
*** 6934,6939 ****
--- 6897,6912 ----
  
  2007-03-03  Bruno Haible  <bruno@clisp.org>
  
+ 	* lib/sys_select_.h: New file.
+ 	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
+ 	is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
+ 	* modules/sys_select (Files): Add lib/sys_select_.h.
+ 	(Depends-on): Add absolute-header.
+ 	(Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
+ 	into sys/select.h.
+ 
+ 2007-03-03  Bruno Haible  <bruno@clisp.org>
+ 
  	* modules/relocatable-prog (Depends-on): Add back progreloc's
  	dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
  
***************
*** 7019,7024 ****
--- 6992,7024 ----
  
  2007-03-02  Bruno Haible  <bruno@clisp.org>
  
+ 	* lib/netinet_in_.h: New file.
+ 	* m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
+ 	is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
+ 	* modules/netinet_in (Files): Add lib/netinet_in_.h.
+ 	(Depends-on): Add absolute-header.
+ 	(Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
+ 	into netinet/in.h.
+ 
+ 2007-03-02  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
+ 	before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
+ 	values.
+ 	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
+ 	<sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
+ 	HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
+ 	* modules/sys_socket (Depends-on): Add absolute-header.
+ 	(Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
+ 	HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
+ 	(Include): Remove requirement of inclusion of <sys/types.h>.
+ 
+ 2007-03-02  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* lib/byteswap_.h (bswap_32): Fix formula.
+ 
+ 2007-03-02  Bruno Haible  <bruno@clisp.org>
+ 
  	* modules/gettext (configure.ac): Require gettext infrastructure
  	from version 0.16.1.
  
***************
*** 7116,7147 ****
  	* modules/xreadlink (Maintainer): Add my name.
  	* modules/xreadlink-with-size (Depends-on): Alphabetize.
  
- 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
- 	    Bruno Haible  <bruno@clisp.org>
- 
- 	* build-aux/install-reloc: Compile also c-ctype.c.
- 	* build-aux/relocatable.sh.in: New file.
- 	* doc/relocatable.texi: New file.
- 	* doc/relocatable-maint.texi: New file.
- 	* doc/gnulib.texi: Include relocatable-maint.texi.
- 	* lib/progreloc.c: Include unistd.h unconditionally.
- 	* lib/relocwrapper.c: Include unistd.h unconditionally.
- 	Include c-ctype.h.
- 	(add_dotbin): Use c_tolower.
- 	* m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
- 	(gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
- 	(gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
- 	* m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
- 	to m4/relocatable-lib.m4.
- 	(gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
- 	RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
- 	(gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
- 	require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
- 	SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
- 	* modules/relocatable: New file.
- 	* modules/relocatable-lib: New file.
- 	* modules/relocatable-script: New file.
- 
  2007-02-28  Bruno Haible  <bruno@clisp.org>
  
  	Import --enable-relocatable infrastructure.
--- 7116,7121 ----
***************
*** 7175,7180 ****
--- 7149,7180 ----
  	xreadlink-with-size.
  	* lib/canonicalize.c (canonicalize_filename_mode): Update.
  
+ 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
+ 	    Bruno Haible  <bruno@clisp.org>
+ 
+ 	* build-aux/install-reloc: Compile also c-ctype.c.
+ 	* build-aux/relocatable.sh.in: New file.
+ 	* doc/relocatable.texi: New file.
+ 	* doc/relocatable-maint.texi: New file.
+ 	* doc/gnulib.texi: Include relocatable-maint.texi.
+ 	* lib/progreloc.c: Include unistd.h unconditionally.
+ 	* lib/relocwrapper.c: Include unistd.h unconditionally.
+ 	Include c-ctype.h.
+ 	(add_dotbin): Use c_tolower.
+ 	* m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
+ 	(gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
+ 	(gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
+ 	* m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
+ 	to m4/relocatable-lib.m4.
+ 	(gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
+ 	RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
+ 	(gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
+ 	require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
+ 	SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
+ 	* modules/relocatable: New file.
+ 	* modules/relocatable-lib: New file.
+ 	* modules/relocatable-script: New file.
+ 
  2007-02-25  Jim Meyering  <jim@meyering.net>
  
  	* build-aux/announce-gen: When complaining about excess arguments,
***************
*** 7277,7282 ****
--- 7277,7289 ----
  	* modules/stdint-tests: Likewise.
  	* modules/tls-tests: Likewise.
  
+ 2007-02-25  Jim Meyering  <jim@meyering.net>
+ 
+ 	Avoid conflicting types for 'unsetenv' on FreeBSD.
+ 	* lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
+ 	conflicting with FreeBSD's (5.0 and 6.1) function declaration
+ 	in stdlib.h.
+ 
  2007-02-24  Bruno Haible  <bruno@clisp.org>
  
  	* lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
***************
*** 7294,7306 ****
  	* lib/isnanl.c: Remove all code. Just include isnan.c.
  	* modules/isnanl-nolibm (Files): Add lib/isnan.c.
  
- 2007-02-25  Jim Meyering  <jim@meyering.net>
- 
- 	Avoid conflicting types for 'unsetenv' on FreeBSD.
- 	* lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
- 	conflicting with FreeBSD's (5.0 and 6.1) function declaration
- 	in stdlib.h.
- 
  2007-02-24  Bruno Haible  <bruno@clisp.org>
  
  	* modules/isnanl-nolibm-tests: New file.
--- 7301,7306 ----
***************
*** 8439,8469 ****
  	* modules/nanosleep (Link): New section.
  	* modules/readline (Link): New section.
  
- 2007-01-27  Bruno Haible  <bruno@clisp.org>
- 
- 	Enforce the use of gnulib modules for unportable <string.h> functions.
- 	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
- 	(gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
- 	(gl_HEADER_STRING_H_BODY): Require it.
- 	* lib/string_.h: If the gnulib module XYZ is not present, redefine
- 	the symbol XYZ to one that gives a link error.
- 	* modules/string (Makefile.am): Also substitute the GNULIB_* variables.
- 	* modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
- 	* modules/mempcpy (configure.ac): Likewise.
- 	* modules/memrchr (configure.ac): Likewise.
- 	* modules/stpcpy (configure.ac): Likewise.
- 	* modules/stpncpy (configure.ac): Likewise.
- 	* modules/strcase (configure.ac): Likewise.
- 	* modules/strcasestr (configure.ac): Likewise.
- 	* modules/strchrnul (configure.ac): Likewise.
- 	* modules/strdup (configure.ac): Likewise.
- 	* modules/strndup (configure.ac): Likewise.
- 	* modules/strnlen (configure.ac): Likewise.
- 	* modules/strpbrk (configure.ac): Likewise.
- 	* modules/strsep (configure.ac): Likewise.
- 	* modules/strstr (configure.ac): Likewise.
- 	* modules/strtok_r (configure.ac): Likewise.
- 
  2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
  
  	* lib/gai_strerror.c (values): Add EAI_OVERFLOW.
--- 8439,8444 ----
***************
*** 8582,8587 ****
--- 8557,8587 ----
  
  2007-01-27  Bruno Haible  <bruno@clisp.org>
  
+ 	Enforce the use of gnulib modules for unportable <string.h> functions.
+ 	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
+ 	(gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
+ 	(gl_HEADER_STRING_H_BODY): Require it.
+ 	* lib/string_.h: If the gnulib module XYZ is not present, redefine
+ 	the symbol XYZ to one that gives a link error.
+ 	* modules/string (Makefile.am): Also substitute the GNULIB_* variables.
+ 	* modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
+ 	* modules/mempcpy (configure.ac): Likewise.
+ 	* modules/memrchr (configure.ac): Likewise.
+ 	* modules/stpcpy (configure.ac): Likewise.
+ 	* modules/stpncpy (configure.ac): Likewise.
+ 	* modules/strcase (configure.ac): Likewise.
+ 	* modules/strcasestr (configure.ac): Likewise.
+ 	* modules/strchrnul (configure.ac): Likewise.
+ 	* modules/strdup (configure.ac): Likewise.
+ 	* modules/strndup (configure.ac): Likewise.
+ 	* modules/strnlen (configure.ac): Likewise.
+ 	* modules/strpbrk (configure.ac): Likewise.
+ 	* modules/strsep (configure.ac): Likewise.
+ 	* modules/strstr (configure.ac): Likewise.
+ 	* modules/strtok_r (configure.ac): Likewise.
+ 
+ 2007-01-27  Bruno Haible  <bruno@clisp.org>
+ 
  	* modules/unistr/base: Update.
  
  2007-01-27  Bruno Haible  <bruno@clisp.org>
***************
*** 9257,9264 ****
  	HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
  	maximum possible value for tv->tv_usec, rather than the minimum one.
  
- 2005-10-08  Martin Lambers  <marlam@marlam.de>
- 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
  2007-01-16  Bruno Haible  <bruno@clisp.org>
  
  	* modules/gettimeofday (Files): Add lib/gettimeofday.h.
--- 9257,9262 ----
***************
*** 9407,9449 ****
  	* modules/fchdir (Depends-on): Add absolute-header.
  	* modules/unistd (Depends-on): Likewise.
  
- 2006-12-30  Bruno Haible  <bruno@clisp.org>
- 
- 	* modules/fchdir: New file.
- 	* modules/unistd (Files): Add lib/unistd_.h.
- 	(Makefile.am): Generate unistd.h from unistd_.h.
- 	* lib/fchdir.c: New file.
- 	* lib/dirent_.h: New file.
- 	* lib/unistd_.h: New file.
- 	* lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
- 	* m4/fchdir.m4: New file.
- 	* m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
- 	(gl_HEADER_UNISTD): Invoke it.
- 	* lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
- 	function.
- 	* lib/backupfile.c (opendir, closedir): Undefine.
- 	* lib/chown.c (open, close): Undefine.
- 	* lib/clean-temp.c (open, close): Undefine.
- 	* lib/copy-file.c (open, close): Undefine.
- 	* lib/execute.c (open, close): Undefine.
- 	* lib/fsusage.c (open, close): Undefine.
- 	* lib/gc-gnulib.c (open, close): Undefine.
- 	* lib/getcwd.c (opendir, closedir): Undefine.
- 	* lib/glob.c (opendir, closedir): Undefine.
- 	* lib/javacomp.c (open, close): Undefine.
- 	* lib/mountlist.c (open, close, opendir, closedir): Undefine.
- 	* lib/openat-proc.c (open, close): Undefine.
- 	* lib/pagealign_alloc.c (open, close): Undefine.
- 	* lib/pipe.c (open, close): Undefine.
- 	* lib/progreloc.c (open, close): Undefine.
- 	* lib/savedir.c (opendir, closedir): Undefine.
- 	* lib/utime.c (open, close): Undefine.
- 	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
- 
- 2007-01-10  Bruno Haible  <bruno@clisp.org>
- 
- 	* lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
- 
  2007-01-12  Eric Blake  <ebb9@byu.net>
  
  	Provide a robust <wchar.h>.  Further simplifications are now
--- 9405,9410 ----
***************
*** 9474,9479 ****
--- 9435,9444 ----
  	* gnulib-tool (func_all_modules): Exclude all files inside the CVS
  	directory.
  
+ 2007-01-10  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
+ 
  2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
  
  	Use @...@ consistently in lib/wctype_.h.
***************
*** 9842,9859 ****
  	* lib/fts.c: Likewise.
  	* modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
  
- 2006-12-25  Bruno Haible  <bruno@clisp.org>
- 
- 	* modules/utf8-ucs4-safe: New file.
- 	* lib/utf8-ucs4-safe.h: New file.
- 	* lib/unistr/utf8-ucs4-safe.c: New file.
- 
- 	* modules/utf16-ucs4-safe: New file.
- 	* lib/utf16-ucs4-safe.h: New file.
- 	* lib/unistr/utf16-ucs4-safe.c: New file.
- 
- 	* MODULES.html.sh (Unicode string functions): Add the new modules.
- 
  2007-01-08  Bruno Haible  <bruno@clisp.org>
  
  	* modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
--- 9807,9812 ----
***************
*** 9884,9897 ****
  	(u16_uctomb): Use ucs4_t, uint16_t types.
  	* lib/unistr/ucs4-utf16.c: New file.
  
- 2006-12-25  Bruno Haible  <bruno@clisp.org>
- 
- 	* modules/unitypes: New file.
- 	* lib/unitypes.h: New file.
- 	* MODULES.html.sh (func_all_modules): New section "Unicode string
- 	functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
- 	this section. Add unitypes.
- 
  2007-01-08  Bruno Haible  <bruno@clisp.org>
  
  	Avoid variable names that conflict with those from libtool.
--- 9837,9842 ----
***************
*** 10018,10027 ****
  	to follow.  Don't set event bits that were not requested (except
  	POLLERR and POLLHUP).
  
- 2007-01-01  Bruno Haible  <bruno@clisp.org>
- 
- 	* modules/lchmod (Include): Require lchmod.h, not lchown.h.
- 
  2007-01-03  Jim Meyering  <jim@meyering.net>
  
  	* modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
--- 9963,9968 ----
***************
*** 10033,10038 ****
--- 9974,9983 ----
  
  2007-01-01  Bruno Haible  <bruno@clisp.org>
  
+ 	* modules/lchmod (Include): Require lchmod.h, not lchown.h.
+ 
+ 2007-01-01  Bruno Haible  <bruno@clisp.org>
+ 
  	* gnulib-tool (func_emit_copyright_notice): Bump year.
  	(func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
  
***************
*** 10049,10054 ****
--- 9994,10032 ----
  
  	* lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
  
+ 2006-12-30  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* modules/fchdir: New file.
+ 	* modules/unistd (Files): Add lib/unistd_.h.
+ 	(Makefile.am): Generate unistd.h from unistd_.h.
+ 	* lib/fchdir.c: New file.
+ 	* lib/dirent_.h: New file.
+ 	* lib/unistd_.h: New file.
+ 	* lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
+ 	* m4/fchdir.m4: New file.
+ 	* m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
+ 	(gl_HEADER_UNISTD): Invoke it.
+ 	* lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
+ 	function.
+ 	* lib/backupfile.c (opendir, closedir): Undefine.
+ 	* lib/chown.c (open, close): Undefine.
+ 	* lib/clean-temp.c (open, close): Undefine.
+ 	* lib/copy-file.c (open, close): Undefine.
+ 	* lib/execute.c (open, close): Undefine.
+ 	* lib/fsusage.c (open, close): Undefine.
+ 	* lib/gc-gnulib.c (open, close): Undefine.
+ 	* lib/getcwd.c (opendir, closedir): Undefine.
+ 	* lib/glob.c (opendir, closedir): Undefine.
+ 	* lib/javacomp.c (open, close): Undefine.
+ 	* lib/mountlist.c (open, close, opendir, closedir): Undefine.
+ 	* lib/openat-proc.c (open, close): Undefine.
+ 	* lib/pagealign_alloc.c (open, close): Undefine.
+ 	* lib/pipe.c (open, close): Undefine.
+ 	* lib/progreloc.c (open, close): Undefine.
+ 	* lib/savedir.c (opendir, closedir): Undefine.
+ 	* lib/utime.c (open, close): Undefine.
+ 	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
+ 
  2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
  
  	* gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
***************
*** 10121,10126 ****
--- 10099,10124 ----
  	* MODULES.html.sh (Support for building libraries and
  	executables): Document it.
  
+ 2006-12-25  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* modules/utf8-ucs4-safe: New file.
+ 	* lib/utf8-ucs4-safe.h: New file.
+ 	* lib/unistr/utf8-ucs4-safe.c: New file.
+ 
+ 	* modules/utf16-ucs4-safe: New file.
+ 	* lib/utf16-ucs4-safe.h: New file.
+ 	* lib/unistr/utf16-ucs4-safe.c: New file.
+ 
+ 	* MODULES.html.sh (Unicode string functions): Add the new modules.
+ 
+ 2006-12-25  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* modules/unitypes: New file.
+ 	* lib/unitypes.h: New file.
+ 	* MODULES.html.sh (func_all_modules): New section "Unicode string
+ 	functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
+ 	this section. Add unitypes.
+ 
  2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
  
  	* gnulib-tool (SED): Remove, undoing previous change.
***************
*** 10363,10380 ****
  
  	* m4/ptrdiff_max.m4: Remove file.
  
- 2006-11-21  Bruno Haible  <bruno@clisp.org>
- 
- 	* m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
- 	_AC_COMPUTE_INT.
- 	(AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
- 	* m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
- 	_AC_COMPUTE_INT.
- 	(AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
- 	* m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
- 	_AC_COMPUTE_INT.
- 	(AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
- 
  2006-11-28  Jim Meyering  <jim@meyering.net>
  
  	* lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
--- 10361,10366 ----
***************
*** 10389,10400 ****
  2006-11-27  Bruno Haible  <bruno@clisp.org>
  	    Paul Eggert  <eggert@cs.ucla.edu>
  
! 	* lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
! 
! 2006-11-26  Bruno Haible  <bruno@clisp.org>
! 
! 	* gnulib-tool (func_emit_lib_Makefile_am): Initialize also
! 	noinst_LTLIBRARIES.
  
  2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
  	    Bruno Haible  <bruno@clisp.org>
--- 10375,10381 ----
  2006-11-27  Bruno Haible  <bruno@clisp.org>
  	    Paul Eggert  <eggert@cs.ucla.edu>
  
! 	* lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
  
  2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
  	    Bruno Haible  <bruno@clisp.org>
***************
*** 10402,10407 ****
--- 10383,10393 ----
  	* lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
  	if compiling with "gcc -ansi".
  
+ 2006-11-26  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* gnulib-tool (func_emit_lib_Makefile_am): Initialize also
+ 	noinst_LTLIBRARIES.
+ 
  2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
  
  	Fix some incompatibilities with gcc -ansi -pedantic.
***************
*** 10420,10433 ****
  	Don't close an fd more than once. Identical atimes indicate
  	success, not failure.
  
- 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
- 
- 	* lib/sincosl.c (kernel_sinl): Fix typo in threshold.
- 
  2006-11-23  Jim Meyering  <jim@meyering.net>
  
  	* build-aux/announce-gen: New file.  From coreutils.
  
  2006-11-22  Jim Meyering  <jim@meyering.net>
  
  	Work around a compile-time error from the HP-UX 11.00 /bin/cc.
--- 10406,10419 ----
  	Don't close an fd more than once. Identical atimes indicate
  	success, not failure.
  
  2006-11-23  Jim Meyering  <jim@meyering.net>
  
  	* build-aux/announce-gen: New file.  From coreutils.
  
+ 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
+ 
+ 	* lib/sincosl.c (kernel_sinl): Fix typo in threshold.
+ 
  2006-11-22  Jim Meyering  <jim@meyering.net>
  
  	Work around a compile-time error from the HP-UX 11.00 /bin/cc.
***************
*** 10438,10448 ****
  	* m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
  	* m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
  
! 2006-11-20  Bruno Haible  <bruno@clisp.org>
  
! 	* gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
! 	changequote instead of pairs of brackets.
! 	Reported by Andreas Schwab <schwab@suse.de>.
  
  2006-11-21  Jim Meyering  <jim@meyering.net>
  
--- 10424,10440 ----
  	* m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
  	* m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
  
! 2006-11-21  Bruno Haible  <bruno@clisp.org>
  
! 	* m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
! 	_AC_COMPUTE_INT.
! 	(AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
! 	* m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
! 	_AC_COMPUTE_INT.
! 	(AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
! 	* m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
! 	_AC_COMPUTE_INT.
! 	(AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
  
  2006-11-21  Jim Meyering  <jim@meyering.net>
  
***************
*** 10450,10455 ****
--- 10442,10453 ----
  	so as to remain compatible with older compilers.
  	Patch from Michael Deutschmann.
  
+ 2006-11-20  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
+ 	changequote instead of pairs of brackets.
+ 	Reported by Andreas Schwab <schwab@suse.de>.
+ 
  2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
  
  	* MODULES.html.sh (File system functions): Add openat.
***************
*** 10507,10519 ****
  	* modules/i-ring (Depends-on): Add verify.
  	(License): Change to LGPL.
  
- 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
- 
- 	* modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
- 	* lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
- 	and inttostr.h.  Use snprintf rather than uinttostr, so that
- 	LGPLed code doesn't depend on GPLed.
- 
  2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
  
  	* modules/inline (License): Change from GPL to LGPL.
--- 10505,10510 ----
***************
*** 10522,10527 ****
--- 10513,10525 ----
  
  	* modules/d-type (License): Switch to LGPL.
  
+ 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
+ 
+ 	* modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
+ 	* lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
+ 	and inttostr.h.  Use snprintf rather than uinttostr, so that
+ 	LGPLed code doesn't depend on GPLed.
+ 
  2006-11-15  Bruno Haible  <bruno@clisp.org>
  
  	* m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
***************
*** 10573,10591 ****
  
  	* modules/c-ctype (License): Change to LGPL.
  
- 2006-11-12  Bruno Haible  <bruno@clisp.org>
- 
- 	* m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
- 	AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
- 	for GNOME libraries, for which the include files are installed in
- 	subdirectories of $prefix/include.
- 
- 2006-11-12  Bruno Haible  <bruno@clisp.org>
- 
- 	* m4/lib-link.m4: Require at least autoconf-2.54.
- 	(AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
- 	name to underscores for the --with option.
- 
  2006-11-13  Bruno Haible  <bruno@clisp.org>
  
  	* gnulib-tool (func_create_testdir): Set gl_source_base correctly in
--- 10571,10576 ----
***************
*** 10606,10611 ****
--- 10591,10609 ----
  
  2006-11-12  Bruno Haible  <bruno@clisp.org>
  
+ 	* m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
+ 	AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
+ 	for GNOME libraries, for which the include files are installed in
+ 	subdirectories of $prefix/include.
+ 
+ 2006-11-12  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* m4/lib-link.m4: Require at least autoconf-2.54.
+ 	(AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
+ 	name to underscores for the --with option.
+ 
+ 2006-11-12  Bruno Haible  <bruno@clisp.org>
+ 
  	* gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
  	'$(top_srcdir)/build-aux/', taking into account the real auxdir.
  
***************
*** 10681,10696 ****
  
  	* lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
  
- 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
- 
- 	* lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
- 	(dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
- 	(bind_textdomain_codeset) [! ENABLE_NLS]:
- 	Evaluate all the arguments.  That way, callers get compatible behavior
- 	if the arguments have side effects.  Also, it avoids some GCC
- 	diagnostics in some cases; Joel E. Denny reported problems when Bison
- 	was configured with --enable-gcc-warnigs.
- 
  2006-11-10  Jim Meyering  <jim@meyering.net>
  
  	* m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
--- 10679,10684 ----
***************
*** 10707,10712 ****
--- 10695,10710 ----
  
  2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
  
+ 	* lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
+ 	(dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
+ 	(bind_textdomain_codeset) [! ENABLE_NLS]:
+ 	Evaluate all the arguments.  That way, callers get compatible behavior
+ 	if the arguments have side effects.  Also, it avoids some GCC
+ 	diagnostics in some cases; Joel E. Denny reported problems when Bison
+ 	was configured with --enable-gcc-warnigs.
+ 
+ 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
+ 
  	* lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
  	Problem reported by Matthew Woehlke.
  
***************
*** 10949,10959 ****
  
  	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
  
- 2006-10-29  Bruno Haible  <bruno@clisp.org>
- 
- 	Make it compile in C++ mode.
- 	* lib/full-write.c (full_rw): Add a cast.
- 
  2006-11-01  Bruno Haible  <bruno@clisp.org>
  
  	* gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
--- 10947,10952 ----
***************
*** 10989,10994 ****
--- 10982,10992 ----
  2006-10-29  Bruno Haible  <bruno@clisp.org>
  
  	Make it compile in C++ mode.
+ 	* lib/full-write.c (full_rw): Add a cast.
+ 
+ 2006-10-29  Bruno Haible  <bruno@clisp.org>
+ 
+ 	Make it compile in C++ mode.
  	* lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
  	* lib/strnlen1.c (strnlen1): Cast memchr result.
  	* lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
***************
*** 11000,11013 ****
  	* lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
  	* lib/wait-process.c (register_slave_subprocess): Likewise.
  
- 2006-10-22  Bruno Haible  <bruno@clisp.org>
- 
- 	* modules/tsearch: New file.
- 	* lib/tsearch.h: New file.
- 	* lib/tsearch.c: New file, from glibc-2.5 with small modifications.
- 	* m4/tsearch.m4: New file.
- 	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
- 
  2006-10-29  Eric Blake  <ebb9@byu.net>
  
  	* lib/arcfour.c: Assume config.h.
--- 10998,11003 ----
***************
*** 11190,11203 ****
  	* MODULES.html.sh: Remove uinttostr.  It's not a module.
  	Reported by Karl Berry.
  
- 2006-10-23  Bruno Haible  <bruno@clisp.org>
- 
- 	* lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
- 
  2006-10-24  Bruno Haible  <bruno@clisp.org>
  
  	* lib/gl_list.h: Use C comment style, not C++ comment style.
  
  2006-10-23  Eric Blake  <ebb9@byu.net>
  
  	* lib/getaddrinfo.c (includes): Add missing include.
--- 11180,11193 ----
  	* MODULES.html.sh: Remove uinttostr.  It's not a module.
  	Reported by Karl Berry.
  
  2006-10-24  Bruno Haible  <bruno@clisp.org>
  
  	* lib/gl_list.h: Use C comment style, not C++ comment style.
  
+ 2006-10-23  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
+ 
  2006-10-23  Eric Blake  <ebb9@byu.net>
  
  	* lib/getaddrinfo.c (includes): Add missing include.
***************
*** 11218,11223 ****
--- 11208,11234 ----
  	__argc, __argv from the declaration. (They are defined as macros on
  	mingw.)
  
+ 2006-10-23  Jim Meyering  <jim@meyering.net>
+ 
+ 	* lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
+ 	in place of snprintf.
+ 
+ 	* modules/inttostr (Files): Add lib/uinttostr.c.
+ 	* lib/uinttostr.c (inttostr): New file/function.
+ 	* lib/inttostr.h (uinttostr): Declare.
+ 	* m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
+ 	* MODULES.html.sh (Numeric conversion functions <stdlib.h>):
+ 	Add uinttostr.
+ 	* modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
+ 
+ 2006-10-22  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* modules/tsearch: New file.
+ 	* lib/tsearch.h: New file.
+ 	* lib/tsearch.c: New file, from glibc-2.5 with small modifications.
+ 	* m4/tsearch.m4: New file.
+ 	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
+ 
  2006-10-22  Bruno Haible  <bruno@clisp.org>
  
  	* doc/gnulib-intro.texi: New file.
***************
*** 11234,11252 ****
  	Change mostlyclean-local rule to avoid sh syntax error from bash
  	versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
  
- 2006-10-23  Jim Meyering  <jim@meyering.net>
- 
- 	* lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
- 	in place of snprintf.
- 
- 	* modules/inttostr (Files): Add lib/uinttostr.c.
- 	* lib/uinttostr.c (inttostr): New file/function.
- 	* lib/inttostr.h (uinttostr): Declare.
- 	* m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
- 	* MODULES.html.sh (Numeric conversion functions <stdlib.h>):
- 	Add uinttostr.
- 	* modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
- 
  2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
  
  	* lib/canonicalize.c (ELOOP): Define if not already defined.
--- 11245,11250 ----
***************
*** 11290,11298 ****
  	* gnulib-tool (func_create_testdir): Don't include ftruncate and
  	mountlist by default.
  
! 2006-10-16  Bruno Haible  <bruno@clisp.org>
  
! 	* lib/c-strstr.c: Include c-strstr.h.
  
  2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
  
--- 11288,11306 ----
  	* gnulib-tool (func_create_testdir): Don't include ftruncate and
  	mountlist by default.
  
! 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
  
! 	* lib/xstrtol.h: Include gettext.h.
! 	(_STRTOL_ERROR): Wrap English-language formats inside gettext.
! 	Problem reported by Eric Blake.
! 	* modules/xstrtol (Depends-on): Add gettext-h.
! 
! 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
! 
! 	* lib/strftime.c (advance): New macro.
! 	(add): Use it to avoid adding 0 to a FILE *.  FILE can be an
! 	incomplete type, so you can't add 0 to it.  Problem and patch
! 	reported by Eelco Dolstra for dietlibc.
  
  2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
  
***************
*** 11312,11331 ****
  
  	* lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
  
- 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
- 
- 	* lib/xstrtol.h: Include gettext.h.
- 	(_STRTOL_ERROR): Wrap English-language formats inside gettext.
- 	Problem reported by Eric Blake.
- 	* modules/xstrtol (Depends-on): Add gettext-h.
- 
- 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
- 
- 	* lib/strftime.c (advance): New macro.
- 	(add): Use it to avoid adding 0 to a FILE *.  FILE can be an
- 	incomplete type, so you can't add 0 to it.  Problem and patch
- 	reported by Eelco Dolstra for dietlibc.
- 
  2006-10-18  Jim Meyering  <jim@meyering.net>
  
  	* lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
--- 11320,11325 ----
***************
*** 11357,11362 ****
--- 11351,11365 ----
  	* lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
  	differently if DEFAULT_TEXT_DOMAIN is set.
  
+ 2006-10-17  Eric Blake  <ebb9@byu.net>
+ 
+ 	* lib/xvasprintf.c (includes): Assume config.h.
+ 	* lib/xasprintf.c (includes): Likewise.
+ 
+ 2006-10-16  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* lib/c-strstr.c: Include c-strstr.h.
+ 
  2006-10-16  Bruno Haible  <bruno@clisp.org>
  
  	* lib/clean-temp.c: Include fwriteerror.h.
***************
*** 11371,11381 ****
  	* lib/sigprocmask.h: Include <sys/types.h>.
  	(sigset_t): Use the system's definition if present.
  
- 2006-10-17  Eric Blake  <ebb9@byu.net>
- 
- 	* lib/xvasprintf.c (includes): Assume config.h.
- 	* lib/xasprintf.c (includes): Likewise.
- 
  2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
  
  	* lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
--- 11374,11379 ----
***************
*** 11870,11902 ****
  	(_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
  	MSVC and mingw explicitly.
  
- 2006-10-11  Simon Josefsson  <jas@extundo.com>
- 	    Bruno Haible  <bruno@clisp.org>
- 
- 	Add support for multiple gnulib-tool invocations in the scope of a
- 	single configure.ac file.
- 	* gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
- 	use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
- 	with the same contents as the _LIBADD variable.
- 	(func_emit_initmacro_start, func_emit_initmacro_end,
- 	func_emit_initmacro_done): New functions.
- 	(func_import, func_create_testdir): Invoke them. Allow the identifiers
- 	gl_LIBOBJS and gl_LTLIBOBJS.
- 
- 2006-10-11  Bruno Haible  <bruno@clisp.org>
- 
- 	* gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
- 	(func_create_testdir): Don't create po/Makefile.am, don't invoke
- 	autoreconf. Instead, invoke autopoint explicitly but move back the
- 	*.m4 files from gnulib.
- 
- 2006-10-11  Bruno Haible  <bruno@clisp.org>
- 
- 	* gnulib-tool (func_usage): Make module names after --create-testdir
- 	optional.
- 	(func_create_testdir): If no module was specified, use nearly all
- 	modules.
- 
  2006-10-12  Jim Meyering  <jim@meyering.net>
  
  	Big performance improvement for fts-based tools that use FTS_NOSTAT.
--- 11868,11873 ----
***************
*** 11935,11940 ****
--- 11906,11938 ----
  	* m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
  	Fix misspelling in diagnostic.
  
+ 2006-10-11  Simon Josefsson  <jas@extundo.com>
+ 	    Bruno Haible  <bruno@clisp.org>
+ 
+ 	Add support for multiple gnulib-tool invocations in the scope of a
+ 	single configure.ac file.
+ 	* gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
+ 	use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
+ 	with the same contents as the _LIBADD variable.
+ 	(func_emit_initmacro_start, func_emit_initmacro_end,
+ 	func_emit_initmacro_done): New functions.
+ 	(func_import, func_create_testdir): Invoke them. Allow the identifiers
+ 	gl_LIBOBJS and gl_LTLIBOBJS.
+ 
+ 2006-10-11  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
+ 	(func_create_testdir): Don't create po/Makefile.am, don't invoke
+ 	autoreconf. Instead, invoke autopoint explicitly but move back the
+ 	*.m4 files from gnulib.
+ 
+ 2006-10-11  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* gnulib-tool (func_usage): Make module names after --create-testdir
+ 	optional.
+ 	(func_create_testdir): If no module was specified, use nearly all
+ 	modules.
+ 
  2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
  
  	* lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
***************
*** 13593,13598 ****
--- 13591,13601 ----
  	* MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
  	HTML structure.
  
+ 2006-08-24  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* MODULES.html.sh (Compatibility checks for POSIX:2001 functions): Fix
+ 	HTML structure.
+ 
  2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
  
  	* modules/openat (Depends-on): Add lchown.
***************
*** 18765,18770 ****
--- 18768,18775 ----
  	* modules/strchrnul (License): Likewise.
  	* modules/sysexits (License): Likewise.
  
+ 2005-10-08  Martin Lambers  <marlam@marlam.de>
+ 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
  2005-10-08  Simon Josefsson  <jas@extundo.com>
  
  	* config/srclist.txt: Bug 1423 is closed, but 1439 remains.
***************
*** 34640,34646 ****
  	* m4/uintmax_t.m4: New file.
  	* m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
  
! Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
    Free Software Foundation, Inc.
  Copying and distribution of this file, with or without modification,
  are permitted provided the copyright notice and this notice are preserved.
--- 34645,34651 ----
  	* m4/uintmax_t.m4: New file.
  	* m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
  
! Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
    Free Software Foundation, Inc.
  Copying and distribution of this file, with or without modification,
  are permitted provided the copyright notice and this notice are preserved.

^ permalink raw reply

* Re: [PATCH] git-shell and git-cvsserver
From: Johannes Schindelin @ 2007-10-09 11:51 UTC (permalink / raw)
  To: Jan Wielemaker; +Cc: Git Mailing List
In-Reply-To: <200710081622.33222.wielemak@science.uva.nl>

Hi,

On Mon, 8 Oct 2007, Jan Wielemaker wrote:

> On Monday 08 October 2007 06:51, Johannes Schindelin wrote:
> 
> > > +#define EXEC_PATH "/usr/local/bin"
> >
> > This is definitely wrong.  Use git_exec_path() instead.
> 
> I stated in my comments I was not happy about that.

That's why I suggested a fix.

> [explaining -- using a lot of words -- no intention to fix the patch]

Heh.  I think that you could have fixed the patch in less time than it 
took you to write your answer ;-)

Ciao,
Dscho

^ permalink raw reply

* Re: [msysGit] Re: [PATCH] git-gui: offer a list of recent repositories on startup
From: Johannes Schindelin @ 2007-10-09 11:43 UTC (permalink / raw)
  To: Steffen Prohaska; +Cc: Shawn O. Pearce, git, msysgit
In-Reply-To: <BE872860-40AD-4BBA-BDD5-0EC8CB9AC4B5@zib.de>

Hi,

On Mon, 8 Oct 2007, Steffen Prohaska wrote:

> commit a483fdd562d6c44d68a998224e0bbb17933b624a
> Author: Steffen Prohaska <prohaska@zib.de>
> Date:   Mon Oct 8 08:25:47 2007 +0200
> 
>    git-gui: offer a list of recent repositories on startup

May I suggest not putting this list into ~/.gitconfig, but rather 
~/.gitguirc?  It is not really a user-specific git configuration...

Besides, the call to "git-config --global --unset-all gui.recentrepo" 
fails, as far as I can tell because there is not yet such an entry.

Ciao,
Dscho

^ permalink raw reply

* Re: possible bug in using local branches
From: Natanael Copa @ 2007-10-09 11:07 UTC (permalink / raw)
  To: Frank Lichtenheld; +Cc: git
In-Reply-To: <20071009105620.GD31659@planck.djpig.de>

On Tue, 2007-10-09 at 12:56 +0200, Frank Lichtenheld wrote:
> On Tue, Oct 09, 2007 at 12:11:47PM +0200, Natanael Copa wrote:
> > 
> > http://distfiles.gentoo.org/distfiles/linux-2.6.22.tar.bz2
> > http://distfiles.gentoo.org/distfiles/genpatches-2.6.22-9.base.tar.bz2
> > http://people.linux-vserver.org/~harry/patch-2.6.22.6-vs2.2.0.3-grsec2.1.11-20070905.diff
> > 
> > First unpack the linux-2.6.22.tar.bz2 archive, genpatches archive and
> > add linux kernel to a local repository.
> > 
> > $ tar -jxf linux-2.6.22.tar.bz2
> > $ tar -jxf genpatches-2.6.22-9.base.tar.bz2
> > $ cd linux-2.6.22
> > $ git-init
> > Initialized empty Git repository in .git/
> > $ git-add .
> > $ git commit -m 'vanilla 2.6.22'
> > ...
> >  create mode 100644 usr/Makefile
> >  create mode 100644 usr/gen_init_cpio.c
> >  create mode 100644 usr/initramfs_data.S
> 
> It already goes wrong here. The top-level .gitignore contains a
> vmlinux*, so the file you later test is never actually committed...

You saved my day! Thanks!

>
> Gruesse,

-nc

^ permalink raw reply

* Re: possible bug in using local branches
From: Frank Lichtenheld @ 2007-10-09 10:56 UTC (permalink / raw)
  To: Natanael Copa; +Cc: git
In-Reply-To: <1191924707.10822.94.camel@nc.nor.wtbts.org>

On Tue, Oct 09, 2007 at 12:11:47PM +0200, Natanael Copa wrote:
> 
> http://distfiles.gentoo.org/distfiles/linux-2.6.22.tar.bz2
> http://distfiles.gentoo.org/distfiles/genpatches-2.6.22-9.base.tar.bz2
> http://people.linux-vserver.org/~harry/patch-2.6.22.6-vs2.2.0.3-grsec2.1.11-20070905.diff
> 
> First unpack the linux-2.6.22.tar.bz2 archive, genpatches archive and
> add linux kernel to a local repository.
> 
> $ tar -jxf linux-2.6.22.tar.bz2
> $ tar -jxf genpatches-2.6.22-9.base.tar.bz2
> $ cd linux-2.6.22
> $ git-init
> Initialized empty Git repository in .git/
> $ git-add .
> $ git commit -m 'vanilla 2.6.22'
> ...
>  create mode 100644 usr/Makefile
>  create mode 100644 usr/gen_init_cpio.c
>  create mode 100644 usr/initramfs_data.S

It already goes wrong here. The top-level .gitignore contains a
vmlinux*, so the file you later test is never actually committed...

Gruesse,
-- 
Frank Lichtenheld <frank@lichtenheld.de>
www: http://www.djpig.de/

^ permalink raw reply

* Re: [PATCH] Fixed crash in fetching remote tags when there is not tags.
From: Väinö Järvelä @ 2007-10-09 10:52 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano
In-Reply-To: <1191919868-4963-2-git-send-email-v@pp.inet.fi>

Hi,

These patches should have been numbered, sorry, The test patch was  
supposed be number 1 of 2.

The patches were done on top of next. The fix should be checked, as  
it's mostly a quick fix to get it to work, probably not the correct  
way to fix that bug, or is it?

--
Väinö

On Oct 9, 2007, at 11:51, Väinö Järvelä wrote:

> Signed-off-by: Väinö Järvelä <v@pp.inet.fi>
> ---
>  remote.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/remote.c b/remote.c
> index e7d735b..5e92378 100644
> --- a/remote.c
> +++ b/remote.c
> @@ -537,6 +537,8 @@ static int count_refspec_match(const char  
> *pattern,
>
>  static void tail_link_ref(struct ref *ref, struct ref ***tail)
>  {
> +	if (!ref) return;
> +	
>  	**tail = ref;
>  	while (ref->next)
>  		ref = ref->next;
> -- 
> 1.5.3.4.1156.g5407-dirty
>
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* blog post collection on the wiki
From: martin f krafft @ 2007-10-09 10:44 UTC (permalink / raw)
  To: git discussion list

[-- Attachment #1: Type: text/plain, Size: 1124 bytes --]

Dear list,

Since Git's birth, a lot of useful blog posts have been published on
using Git and solving specific problems. Our wiki has the GitLinks
page, which has a number of blogs by Git people, but what I was
missing was a collection of links to specific blog posts.

Thus I created BlogPosts [http://git.or.cz/gitwiki/BlogPosts] with
the intention to assemble links to *single* and *useful* blog posts
related to *specific* Git usage. Posts linked from there should be
contained enough to be useful reference to people solving a specific
problem, and the link description should should adequately describe
the problem.

I am looking forward to your comments and contributions.

-- 
martin;              (greetings from the heart of the sun.)
  \____ echo mailto: !#^."<*>"|tr "<*> mailto:" net@madduck
 
"if confronted with a choice between all the truth in god's right hand
 and the ever live struggle for truth, coupled with eternal error, in
 god's left, i would choose the left."
                                                   -- gotthold lessing
 
spamtraps: madduck.bogus@madduck.net

[-- Attachment #2: Digital signature (see http://martin-krafft.net/gpg/) --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* Re: git: avoiding merges, rebasing
From: Johannes Schindelin @ 2007-10-09 10:43 UTC (permalink / raw)
  To: Benoit SIGOURE; +Cc: Bruno Haible, bug-gnulib, git list
In-Reply-To: <07BCEF3E-90DE-4BB7-8A8C-F03D12293B5F@lrde.epita.fr>

Hi,

On Mon, 8 Oct 2007, Benoit SIGOURE wrote:

> [as usual, I forgot the attachment...]

Two comments:

- by not inlining you made it hard to review your script.  Therefore I 
  will not do it.

- Try to avoid naming the script git-merge-*; these scripts/programs are 
  merge _strategies_, not merge _drivers_ (and yes, we already have two 
  programs violating this rule -- merge-base and merge-file -- but that 
  does not mean that you are free to add to the pile).

Ciao,
Dscho

^ permalink raw reply

* Re: Trying to use git-filter-branch to compress history by removing large, obsolete binary files
From: Johannes Schindelin @ 2007-10-09 10:37 UTC (permalink / raw)
  To: Theodore Tso
  Cc: J. Bruce Fields, Johannes Sixt, Elijah Newren, Frank Lichtenheld,
	git
In-Reply-To: <20071008163701.GA5868@thunk.org>

Hi,

On Mon, 8 Oct 2007, Theodore Tso wrote:

> On Mon, Oct 08, 2007 at 10:36:50AM -0400, J. Bruce Fields wrote:
> > Having it by default leave these backups around, even when everything
> > succeeds, makes for unnecessary cleanup work in the normal case, and is
> > inconsistent with the behavior of other git commands that destroy or
> > rewrite history.
> 
> I think what makes git-filter-branch different is that you can change a 
> large amount of history with git-filter-branch, including large numbers 
> of tags, etc.  The reflog is quite sufficient to recover from a screwed 
> up "git commit --amend".
>
> [...]
>
> But I don't think the reflog is going to be sufficient given the kinds 
> of changes that git-filter-branch can potentially do to your repository.

FWIW after reading Bruce's reasoning, I tend towards having no "backups" 
by default (I say "backups", since they are _only_ written when the 
respective branch has changed).

And I do not think that the config variable is a good approach; if you 
want backups or not is a per-case decision.  So your proposal would only 
result in even more confusion.

My preference ATM is to write nothing per default, but only when 
--original <namespace> was given.

Ciao,
Dscho

^ permalink raw reply

* Re: bug? - git-checkout treeish paths  ignores deleted files
From: Wincent Colaiuta @ 2007-10-09 10:20 UTC (permalink / raw)
  To: Mark Levedahl; +Cc: Git Mailing List
In-Reply-To: <470AF7F1.2010903@gmail.com>

El 9/10/2007, a las 5:39, Mark Levedahl escribió:

> I'm not convinced...
>
> "git checkout branch dir" should make dir have the same value it  
> would get if I just did "git checkout branch".  The latter command  
> will ignore files only if they are untracked in *both* HEAD and  
> branch. I fail to see why the path-limited version of git-checkout  
> should give a different result on the part it is asked to affect  
> than the non-path limited version. This is very inconsistent and  
> I'm having a hard time understanding what workflow it will help.

I don't know the historical reasons for the difference but it's  
explained in the second para of the man page:

    When <paths> are given, this command does not switch branches. It
    updates the named paths in the working tree from the index file  
(i.e.
    it runs git-checkout-index -f -u), or from a named commit.

So when you supply "." as a path it's not actually switching  
branches. So that's why you see the different behaviour; it's  
intentionally different. Like I said, I don't know the reasons why  
but I imagine it's to make it easy to grab specific files from other  
branches without actually switching.

Cheers,
Wincent

^ permalink raw reply

* possible bug in using local branches
From: Natanael Copa @ 2007-10-09 10:11 UTC (permalink / raw)
  To: git

Hi,

I think I might have found a bug in git, but I'm not sure if I am
misunderstanding the way local branches is supposed to work. I will
describe all teh steps I am doing. Please let me know if I'm doing
something wrong.

It seems that when committing changes to one branch, one file is
modified across the branches. (all branches ge the modified file)

The source files used are those:

http://distfiles.gentoo.org/distfiles/linux-2.6.22.tar.bz2
http://distfiles.gentoo.org/distfiles/genpatches-2.6.22-9.base.tar.bz2
http://people.linux-vserver.org/~harry/patch-2.6.22.6-vs2.2.0.3-grsec2.1.11-20070905.diff

First unpack the linux-2.6.22.tar.bz2 archive, genpatches archive and
add linux kernel to a local repository.

$ tar -jxf linux-2.6.22.tar.bz2
$ tar -jxf genpatches-2.6.22-9.base.tar.bz2
$ cd linux-2.6.22
$ git-init
Initialized empty Git repository in .git/
$ git-add .
$ git commit -m 'vanilla 2.6.22'
...
 create mode 100644 usr/Makefile
 create mode 100644 usr/gen_init_cpio.c
 create mode 100644 usr/initramfs_data.S

Apply the genpatches to get kernel up to 2.6.22.9

$ ls ../2.6.22/100*
../2.6.22/1000_linux-2.6.22.1.patch  ../2.6.22/1005_linux-2.6.22.6.patch
../2.6.22/1001_linux-2.6.22.2.patch  ../2.6.22/1006_linux-2.6.22.7.patch
../2.6.22/1002_linux-2.6.22.3.patch  ../2.6.22/1007_linux-2.6.22.8.patch
../2.6.22/1003_linux-2.6.22.4.patch  ../2.6.22/1008_linux-2.6.22.9.patch
../2.6.22/1004_linux-2.6.22.5.patch
$ for i in ../2.6.22/100*; do patch -p1 < $i ; done
...
patching file net/ipv6/raw.c
patching file net/sunrpc/svcsock.c
patching file scripts/kconfig/conf.c

Commit those changes to git repo.

$ git-commit -a -m'vanilla 2.6.22.9'
Created commit a374b11: vanilla 2.6.22.9
 217 files changed, 1748 insertions(+), 863 deletions(-)
 delete mode 100644 arch/i386/kernel/legacy_serial.c

We want merge the gentoo patches with the vserver/grsecurity patch so we
create 2 branches: vsgrsec-orig and genpatches.

$ git-branch vsgrsec-orig
$ git-branch genpatches

We switch to the vsgrsec-orig branch:

$ git-checkout vsgrsec-orig
Switched to branch "vsgrsec-orig"
$ git-branch               
  genpatches
  master
* vsgrsec-orig

Before we commit any patch, we verify that we dont have any gresecurity
related stuff in there, just to be sure. We check the file that I have
had problems with.

$ grep PAX arch/i386/kernel/vmlinux.lds.S

Its verified clean. Just to be sure, verify the other branches as well.

$ git-checkout genpatches
Switched to branch "genpatches"
$ grep PAX arch/i386/kernel/vmlinux.lds.S 
$ git-checkout master    
Switched to branch "master"
$ grep PAX arch/i386/kernel/vmlinux.lds.S 

Ok, its clean (why wouldnt it?), lets switch back to vsgrsec-orig and
apply the vserver/grsec patch.

$ git-checkout vsgrsec-orig
Switched to branch "vsgrsec-orig"
$ patch -p1 < ../patch-2.6.22.6-vs2.2.0.3-grsec2.1.11-20070905.diff 
...
patching file sound/pci/ens1370.c
patching file sound/pci/intel8x0.c
patching file sound/pci/intel8x0m.c

There are one reject (due to the patch was made for 2.6.22.6), lets
merge it manually.

$ find -name '*.rej'
./fs/locks.c.rej
$ cat ./fs/locks.c.rej
***************
*** 787,792 ****
                goto out;
        locks_copy_lock(new_fl, request);
        locks_insert_lock(&inode->i_flock, new_fl);
        new_fl = NULL;
        error = 0;
  
--- 806,812 ----
                goto out;
        locks_copy_lock(new_fl, request);
        locks_insert_lock(&inode->i_flock, new_fl);
+       vx_locks_inc(new_fl);
        new_fl = NULL;
        error = 0;
  
$ vim +809 ./fs/locks.c

Insert the missing "vx_locks_inc(new_fl);", save and exit. Remove the
reject file.

$ rm ./fs/locks.c.rej

Verify that the propblematic file is modified.

$ grep PAX arch/i386/kernel/vmlinux.lds.S
#ifdef CONFIG_PAX_KERNEXEC

Commit all the changes to the vsgrsec-orig branch.

$ git-branch
  genpatches
  master
* vsgrsec-orig
$ git-add .
$ git-commit -a -m'patch-2.6.22.6-vs2.2.0.3-grsec2.1.11-20070905.diff'
...
 create mode 100644 mm/slab_vs.h
 create mode 100644 net/ipv4/devinet.c.orig
 create mode 100644 net/ipv4/netfilter/ipt_stealth.c

Lets diff the commits and check if git has recordend the
arch/i386/kernel/vmlinux.lds.S modification.

$ git-log | cat
commit 9f2718984a6bc32d6ac1eee69ee27811496269d5
Author: Natanael Copa <natanael.copa@gmail.com>
Date:   Tue Oct 9 11:54:33 2007 +0200

    patch-2.6.22.6-vs2.2.0.3-grsec2.1.11-20070905.diff

commit a374b11b6fb93de40c9d3cf0cad4ff1cd7261283
Author: Natanael Copa <natanael.copa@gmail.com>
Date:   Tue Oct 9 11:31:57 2007 +0200

    vanilla 2.6.22.9

commit 2a31a9171d62b1ae8ed41124b61e43f49e4efb0b
Author: Natanael Copa <natanael.copa@gmail.com>
Date:   Tue Oct 9 11:27:55 2007 +0200

    vanilla 2.6.22

$ git-diff -p a374b11b6fb93de40c9d3cf0cad4ff1cd7261283 \
   | grep arch/i386/kernel/vmlinux.lds.S
(empty)

What? shouldn't git detect that? Well something has changed:

$ git-diff -p a374b11b6fb93de40c9d3cf0cad4ff1cd7261283 \
   | wc -l                              
77138

Lets check the file again:

$ grep PAX  arch/i386/kernel/vmlinux.lds.S
#ifdef CONFIG_PAX_KERNEXEC

Well file is modified. Lets checkout the other branches.

$ git-checkout master
Switched to branch "master"
$ grep PAX  arch/i386/kernel/vmlinux.lds.S
#ifdef CONFIG_PAX_KERNEXEC

What? That is not supposed to be there? the
arch/i386/kernel/vmlinux.lds.S file is modified on all branches.

Lets see what the log says about this branch:

$ git log | cat
commit a374b11b6fb93de40c9d3cf0cad4ff1cd7261283
Author: Natanael Copa <natanael.copa@gmail.com>
Date:   Tue Oct 9 11:31:57 2007 +0200

    vanilla 2.6.22.9

commit 2a31a9171d62b1ae8ed41124b61e43f49e4efb0b
Author: Natanael Copa <natanael.copa@gmail.com>
Date:   Tue Oct 9 11:27:55 2007 +0200

    vanilla 2.6.22

Well, nothing about the vserver/grsec patch there.

$ git-status
# On branch master
nothing to commit (working directory clean)

Lets make a diff between branches.

$ git-diff master vsgrsec-orig | wc -l             
77138

Sure, something has changed. But is the vmlinux.lds.S changed?

$ git-diff master vsgrsec-orig | grep  arch/i386/kernel/vmlinux.lds.S
(empty)

nope! Same thing happens in genpatches branch that I created earlier.

$ git checkout genpatches
Switched to branch "genpatches"
$ git-diff master | grep  arch/i386/kernel/vmlinux.lds.S
$ grep PAX  arch/i386/kernel/vmlinux.lds.S
#ifdef CONFIG_PAX_KERNEXEC

What is going on? Did I do something wrong or is this a bug?

I managed to duplicate this on my 64 bit gentoo ox and my 64 bit ubuntu
box.
$ git --version
git version 1.5.3.3

$ git --version
git version 1.5.2.5


-nc

^ permalink raw reply

* Re: [PATCH 1/3] rev-list: implement --bisect-all
From: Frank Lichtenheld @ 2007-10-09 10:04 UTC (permalink / raw)
  To: Christian Couder; +Cc: Junio Hamano, Johannes Schindelin, git
In-Reply-To: <20071009062511.fb6f6222.chriscool@tuxfamily.org>

On Tue, Oct 09, 2007 at 06:25:11AM +0200, Christian Couder wrote:
> This is Junio's patch with some stuff to make --bisect-all
> compatible with --bisect-vars.
> 
> This option makes it possible to see all the potential
> bisection points. The best ones are displayed first.

The whole series is missing patches for the manual pages.

Just saying.

Gruesse,
-- 
Frank Lichtenheld <frank@lichtenheld.de>
www: http://www.djpig.de/

^ permalink raw reply

* Re: confused about a conflict during octopus merging
From: martin f krafft @ 2007-10-09  9:47 UTC (permalink / raw)
  To: git discussion list; +Cc: Linus Torvalds
In-Reply-To: <alpine.LFD.0.999.0710081812200.4964@woody.linux-foundation.org>

[-- Attachment #1: Type: text/plain, Size: 3498 bytes --]

Thanks, Linus, for taking your time to answer me. I truly appreciate
it.

also sprach Linus Torvalds <torvalds@linux-foundation.org> [2007.10.09.0221 +0100]:
> So when the octopus merge starts merging in "master" into the
> "merger" branch, it will *not* just fast-forward the branch to
> "master". Instead, if will generate a new tree that is basically
> the merged state: but that new tree is *not* the same as the
> master commit, it's literally a merge of the two branches - which
> in practice means that it has the same *content* as master, but
> it's not at that commit.

Okay, this makes perfect sense.

> And so now we have a half-way done octopus merge, with the first
> branch added. Now it merges in the second branch ("second"), and
> it *still* has the merge base being the original merge base,
> namely "merger".
> 
> And from that standpoint, it really *is* a conflict. 

I would have to agree with you: this is pretty exactly what's going
on.

Now, I think Git could do better though. Fast-forwarding
octopus merges, as you suggest, is one possible enhancement, but is
that the solution to my problem? Yes, but could we do better?

Couldn't Git just ignore any commit it has already seen in this
octopus merge? I think this is perfectly okay in terms of the
resulting ancestry, it's really all about applying a commit to the
worktree or not.

Recall the original tree:

  x -- master: d2
  | x -- second: b
  |/
  x  d1
  |
  x -- merger: a

Now after merging master, the tree is at the same state as it is at
the tip of master. The asterisk denotes that the commit is half-way
done:

  x  c* (a+d1+d2)
  |\
  | x -- master: d2
  | | x -- second: b
  | |/
  | x  d1
  |/
  x  a

Next, we merge second to create c2

  x_ c2*  ((a+d1+d2)+(d1+b))
  |\ \
  | | |
  | x-|- master: d2
  | | |
  | | x -- second: b
  | |/
  | x  d1
  |/
  x  a

(yay ASCII art!)

At this point, the conflict happens, when Git tries to re-apply d1
to the work tree. But since d1 is already in the ancestry of the
node into which we are merging, couldn't it just skip applying the
commit to the worktree?

  x_ c  (a+d1+d2+b)
  |\ \
  | | |
  | x-|- master: d2
  | | |
  | | x -- second: b
  | |/
  | x  d1
  |/
  x  a

If it does, then I think ordering of merges for an octopus becomes
relevant, but I'd say that's already the case.

And I guess this is identical to fast-forwarding the branches...
just seems like approaching it from another angle to me.

> If you think of octopus merges as a really stupid thing where git
> will mindlessly do a three-way merge based on the *current* state
> with all the branches you name, then you get the current octopus
> merge. You just expected it to be smarter than it is, probably
> because you compare it to the *real* merge.

No, Git just raised the bar for expectations half-way up to the
moon In other words: you spoiled me so far; now I won't settle for
less than perfection. :)

-- 
martin;              (greetings from the heart of the sun.)
  \____ echo mailto: !#^."<*>"|tr "<*> mailto:" net@madduck
 
"however jewel-like the good will may be in its own right, there is
 a morally significant difference between rescuing someone from
 a burning building and dropping him from a twelfth-storey window
 while trying to rescue him."
                                                       -- thomas nagel
 
spamtraps: madduck.bogus@madduck.net

[-- Attachment #2: Digital signature (see http://martin-krafft.net/gpg/) --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* Re: git-http-push / webDAV
From: Thomas Pasch @ 2007-10-09  9:37 UTC (permalink / raw)
  To: Eygene Ryabinkin; +Cc: git
In-Reply-To: <47022857.806@jentro.com>

Dear Eygene,

I tried all this on a Gentoo x86_64 machine. No problems!
Git on http/webDAV is just working fine.

I also retried all this on a SuSE 10.3 system. Same
problems as before. Thus it could have to do with
the (general) configuration of the SuSE system.

I still feel that the behaviour of git-push /
git-http-push is *not* approbiate. It should
indicate a problem if it was not able to upload
a new object to the remote server. Just saying

>>>     sending 3 objects
>>>     done

instead of indicating a problem is not what a
user expects. This particulary true if the
objects are not created on the server as it
seems to be in my case.

Cheers,

Thomas

Thomas Pasch wrote:
> Dear Eygene,
> 
> I used a rather small test repo with only 2 or 3
> commits.
> 
> The last tests I did with the a (current) git repo clone:
> 
>> git clone --bare git://git.kernel.org/pub/scm/git/git.git
> 
> e147e54b14828fa2e88e88907e0ca4dc3d694448 has indeed *not*
> found its way into the http push repo. For me it looks
> like that the push *first* updates refs/heads/master
> (successfully) but fails to transfer the object itself.
> 
> Perhaps it would be more graceful that the object is
> transfered *first* and then the remote tip is updated...
> 
> What version of git do you use?
> 
> Cheers,
> 
> Thomas
> 
> Eygene Ryabinkin wrote:
>> Thomas,
>>
>> Tue, Oct 02, 2007 at 11:57:10AM +0200, Thomas Pasch wrote:
>>> well, *somewhat* better with the trailing slash:
>>>
>>>> echo "modified" >>grep.c
>>>> git commit -a
>>> Created commit e147e54: mod
>>>  1 files changed, 1 insertions(+), 0 deletions(-)
>>>> git push -v
>>> Pushing to http://test@x.x.x.x/git/git.git/
>>> Fetching remote heads...
>>>   refs/
>>>   refs/heads/
>>>   refs/tags/
>>> updating 'refs/heads/master'
>>>   from 34c6dbdef439f7cd93d3fe22493a3c1496ce96f7
>>>   to   e147e54b14828fa2e88e88907e0ca4dc3d694448
>>>     sending 3 objects
>>>     done
>>> Updating remote server info
>>>
>>> There's no more error message.
>> OK, that's fine: the previous error was tied to the fact that
>> when you're getting /git/git.git from the Web-server, it notices
>> that it is a directory and redirects you to the /git/git.git/.
>> But (IIRC) curl does not follow such redirections.
>>
>>> However, push has still
>>> not worked. If I try to check out the new HEAD:
>>>
>>>> git clone http://test@x.x.x.x/git/git.git/
>>> Initialized empty Git repository in /home/tpasch/tmp/git/.git/
>>> Getting alternates list for http://test@x.x.x.x/git/git.git
>>> Getting pack list for http://test@x.x.x.x/git/git.git
>>> Getting index for pack 563e2090185692c7d765775569a0ce986840fd17
>>> Getting pack 563e2090185692c7d765775569a0ce986840fd17
>>>  which contains 3af9d3e08da868c3a7687ab38d72f4296a99005d
>>> [...]
>>> walk 24778e335a6450e34257a311d0bf4a12bdb3006c
>>> walk 19b2860cba5742ab31fd682b80fefefac19be141
>>> walk bf0c6e839c692142784caf07b523cd69442e57a5
>>> walk e497ea2a9b6c378f01d092c210af20cbee762475
>>> walk 8bc9a0c769ac1df7820f2dbf8f7b7d64835e3c68
>>> walk e83c5163316f89bfbde7d9ab23ca2e25604af290
>>> Getting alternates list for http://test@x.x.x.x/git/git.git
>>> Getting pack list for http://test@x.x.x.x/git/git.git
>>> error: Unable to find e147e54b14828fa2e88e88907e0ca4dc3d694448 under
>>> http://test@x.x.x.x/git/git.git
>>> Cannot obtain needed object e147e54b14828fa2e88e88907e0ca4dc3d694448
>> OK, I will try to do this on my server with 2.2.6.  How big
>> is your repository?  Both size and commit number.
>>
>> Thanks.
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


-- 
Mit freundlichen Grüßen / Kind regards
Thomas Pasch

--------------------------------------------------------------------
Jentro Technologies GmbH
Thomas Pasch
Entwicklung
--------------------------------------------------------------------
Rosenheimer Strasse 145e, D-81671 Munich, Germany
N 48°07'19", E 11°36'18"
http://www.jentro.com
Managing Directors: Dr. Hans-Hendrik Puvogel, Erno Hempel
Trade register Munich HRB 148653
--------------------------------------------------------------------
Tel. +49 89 189 169 80
Fax +49 89 189 169 99
thomas.pasch@jentro.com
--------------------------------------------------------------------
NOTICE: The information contained in this e-mail is confidential or
may otherwise be legally privileged. It is intended for the named
recipient only. If you have received it in error, please notify us
immediately by reply or by calling the telephone number above and
delete this message and all its attachments without any use or
further distribution of its contents. Please note that any
unauthorised review, copying, disclosing or otherwise making use of
the information is strictly prohibited. Thank you.
--------------------------------------------------------------------

^ permalink raw reply

* [PATCH] Added a test for fetching remote tags when there is not tags.
From: Väinö Järvelä @ 2007-10-09  8:51 UTC (permalink / raw)
  To: git; +Cc: gitster, Väinö Järvelä

When a user runs "git fetch -t", git crashes when it doesn't find any
tags on the remote repository.

Signed-off-by: Väinö Järvelä <v@pp.inet.fi>
---
 t/t5510-fetch.sh |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh
index 73a4e3c..40ebf2e 100755
--- a/t/t5510-fetch.sh
+++ b/t/t5510-fetch.sh
@@ -67,6 +67,18 @@ test_expect_success "fetch test for-merge" '
 	cut -f -2 .git/FETCH_HEAD >actual &&
 	diff expected actual'
 
+test_expect_success 'fetch tags when there is no tags' '
+
+    cd "$D" &&
+
+    mkdir notags &&
+    cd notags &&
+    git init &&
+
+    git fetch -t ..
+
+'
+
 test_expect_success 'fetch following tags' '
 
 	cd "$D" &&
-- 
1.5.3.4.1156.g5407-dirty

^ permalink raw reply related

* [PATCH] Fixed crash in fetching remote tags when there is not tags.
From: Väinö Järvelä @ 2007-10-09  8:51 UTC (permalink / raw)
  To: git; +Cc: gitster, Väinö Järvelä
In-Reply-To: <1191919868-4963-1-git-send-email-v@pp.inet.fi>

Signed-off-by: Väinö Järvelä <v@pp.inet.fi>
---
 remote.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/remote.c b/remote.c
index e7d735b..5e92378 100644
--- a/remote.c
+++ b/remote.c
@@ -537,6 +537,8 @@ static int count_refspec_match(const char *pattern,
 
 static void tail_link_ref(struct ref *ref, struct ref ***tail)
 {
+	if (!ref) return;
+	
 	**tail = ref;
 	while (ref->next)
 		ref = ref->next;
-- 
1.5.3.4.1156.g5407-dirty

^ permalink raw reply related

* Problem with git-cvsimport
From: Thomas Pasch @ 2007-10-09  9:25 UTC (permalink / raw)
  To: git

Hello,

using git-cvsimport (1.5.3.4), it dies with

Update
guidance-common/src/java/com/jentro/manager/guidance/common/servlet/IconServlet.java:
2104 bytes
Tree ID 01cb84cbee2e70a712459be6601b993603eed5bd
Parent ID dcd8dc76f4638d1994165070c9813202992d546a
Committed patch 3775 (bmw +0000 2004-10-14 11:10:43)
Commit ID 53c68066f71651b057884e1101cda3967070724d
Fetching
guidance-common/src/java/com/jentro/manager/guidance/common/serverapi/GuidanceException.java
  v 1.14.4.2
Update
guidance-common/src/java/com/jentro/manager/guidance/common/serverapi/GuidanceException.java:
3718 bytes
Tree ID 886268190ac2cb28b5f1e6cdb309054bcb8fa38e
Parent ID 53c68066f71651b057884e1101cda3967070724d
Merge parent branch: master
fatal: Not a valid object name master
Use of uninitialized value in chomp at /usr/bin/git-cvsimport line 766.
Use of uninitialized value in pattern match (m//) at
/usr/bin/git-cvsimport line 527.
Use of uninitialized value in concatenation (.) or string at
/usr/bin/git-cvsimport line 767.
Cannot get commit id ():

What can I do to avoid this problem?

Cheers,

Thomas

^ permalink raw reply

* Two minor glitches in git-gui
From: Michele Ballabio @ 2007-10-09  9:21 UTC (permalink / raw)
  To: Shawn O. Pearce; +Cc: git

On Linux:
  1. run git-gui
  2. open edit->options dialog box
  3. click on "select font". It will open the "choose font" box.
  4. click on "options" box to give it focus.
  5. return to the "choose font" box and try to choose a font.

At this point, the "choose font" box won't react to my actions.

The workaround is to iconify the "select font" dialog box and
then restore it. Can someone reproduce this?

I think I've seen a similar behaviour before, on git-gui's
about window, but I'm not sure (it doesn't trigger anymore).

The other problem is that it is possible to open the same
"choose font" box many times (one is enough :).

^ permalink raw reply

* Re: Merge problems with git-mingw
From: Johannes Sixt @ 2007-10-09  9:03 UTC (permalink / raw)
  To: Peter Karlsson; +Cc: git
In-Reply-To: <Pine.LNX.4.64.0710090953240.26773@ds9.cixit.se>

Peter Karlsson schrieb:
> C:\Program Files\Git\bin>git var -l
> usage: git-var [-l | <variable>]
> 
> C:\Program Files\Git\bin>git-var -l
> fatal: Not a git repository
> 
> C:\Program Files\Git\bin>git --version
> git version 1.5.3.mingw.1

For the time being, install this beast in a path without blanks.

This needs fixing, appearently. :(

-- Hannes

^ permalink raw reply

* Re: Merge problems with git-mingw
From: Peter Karlsson @ 2007-10-09  8:56 UTC (permalink / raw)
  To: Johannes Sixt; +Cc: git
In-Reply-To: <470B2F7E.4080308@viscovery.net>

Hi!

> What if you run 'git var -l' outside a repository? From CMD?
> Have you tried 'git-var -l' (note the dash)? From CMD?

C:\Program Files\Git\bin>git var -l
usage: git-var [-l | <variable>]

C:\Program Files\Git\bin>git-var -l
fatal: Not a git repository

C:\Program Files\Git\bin>git --version
git version 1.5.3.mingw.1

> Are you sure you have only one version of git in the PATH?

Yes.

> What's in your .git/config?

This is the .git/config file for one of the repositories where it
fails:

  [core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
        symlinks = false
        pager = less -x3 -r

  [instaweb]
        local = true
        httpd = c:/cygwin/usr/sbin/lighttpd.exe -f
        port = 4321
        browser = c:/progra~1/opera/opera.exe
        modulepath = c:/cygwin/usr/lib/apache
  [diff]
        renames = copies
        external = C:/Program Files/tkdiff/tkdiff.exe
  [user]
        name = Peter Karlsson
        email = peter.karlsson@tandbergdata.com

This is my global $HOME/.gitconfig:

  [user]
  name = Peter Karlsson
  email = peter@softwolves.pp.se
  [core]
          editor = c:/cygwin/bin/joe.exe
          pager = less -x3 -r
  [color]
  [color]
          pager = true

-- 
\\// Peter - http://www.softwolves.pp.se/

^ permalink raw reply

* 'git diff' in rebase--interactive
From: Johannes Sixt @ 2007-10-09  8:51 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Git Mailing List

I wonder for what reason rebase--interactive generates a patch using
'git diff' in the make_patch function. Is this an artefact?

I'd like to get rid of this use of 'git diff' because it invokes external 
diff drivers, which is totally unwanted if the driver is interactive - like 
the 'windiff' thing that I posted a week ago.

-- Hannes

^ permalink raw reply

* Re: Merge problems with git-mingw
From: Johannes Sixt @ 2007-10-09  7:36 UTC (permalink / raw)
  To: Peter Karlsson; +Cc: git
In-Reply-To: <Pine.LNX.4.64.0710090800220.26773@ds9.cixit.se>

Peter Karlsson schrieb:
> I get the same error running mingw-git from a regular cmd.exe prompt,
> so it doesn't seem to be related to Cygwin at all.

What if you run 'git var -l' outside a repository? From CMD?
Have you tried 'git-var -l' (note the dash)? From CMD?
Are you sure you have only one version of git in the PATH?
What's in your .git/config?

-- Hannes

^ permalink raw reply

* Re: git push (mis ?)behavior
From: Steffen Prohaska @ 2007-10-09  7:23 UTC (permalink / raw)
  To: Jan Hudec; +Cc: Junio C Hamano, Pierre Habouzit, git
In-Reply-To: <20071009050533.GA2968@efreet.light.src>


On Oct 9, 2007, at 7:05 AM, Jan Hudec wrote:

> On Fri, Sep 28, 2007 at 00:07:27 -0700, Junio C Hamano wrote:
>> Steffen Prohaska <prohaska@zib.de> writes:
>>
>>> When "remote.<name>.push" is set I'd expect "git push" to
>>> choose only the 'right' remote.<name>.push lines, that is
>>> the lines that have the current branch as the local ref.
>
> I would like this for another reason and maybe in slightly  
> different way.
> Basically I would have configured something along the lines:
>     [remote "origin"]
>     push = refs/heads/*:refs/heads/jahu/*
> and would want to choose, via option, whether I want to push all  
> the branches
> or just the current one, but in any case with the renaming specified.
>
> The idea behind this is to have a shared repository, but not shared  
> branches.
> Everybody would have a subdirectory in refs/heads where he could push
> anything that the others should see and than somebody else (either  
> designated
> integrator, or just anybody different) would do a quick review and  
> merge it
> into master.
>
> Now I could of course push out everything, but usually I'd want to  
> push
> exactly the current branch, renaming it by the rule given, whether  
> it already
> existed in origin or not. Than there can be eg. a post-receive hook  
> notifying
> the integrator that there is something for review.

I had a similar scenario in mind. So a more general question is the  
following:

Git well supports the clone from read-only and push to private repo  
scheme.
In this case all repositories you're pushing to are by definition _your_
repositories. The only question left is, which subset of your  
branches are
pushed. But there's no need for renaming during push.

Now the question is, what is a sensible workflow on a shared repository?

One option is to use some kind of private 'namespace' scheme. For  
example
developers should push their topics to a branch prefixed with their  
name,
or to a 'subdirectory' ref/heads/needsreview/*.

This workflow may require to 'rename' branches during push. So how  
can this
be supported by git?  Supporting only renames that add a prefix, as  
suggested
by Jan, may be reasonable restriction.

	Steffen

^ permalink raw reply


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