]> git.ipfire.org Git - thirdparty/git.git/log
thirdparty/git.git
14 years agohttp*: add http_get_info_packs
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:59 +0000 (16:43 +0800)] 
http*: add http_get_info_packs

http-push.c and http-walker.c no longer have to use fetch_index or
setup_index; they simply need to use http_get_info_packs, a new http
method, in their fetch_indices implementations.

Move fetch_index() and rename to fetch_pack_index() in http.c; this
method is not meant to be used outside of http.c. It invokes
end_url_with_slash with base_url; apart from that change, the code is
identical.

Move setup_index() and rename to fetch_and_setup_pack_index() in
http.c; this method is not meant to be used outside of http.c.

Do not immediately set ret to 0 in http-walker.c::fetch_indices();
instead do it in the HTTP_MISSING_TARGET case, to make it clear that
the HTTP_OK and HTTP_MISSING_TARGET cases both return 0.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agohttp-push.c::fetch_symref(): use the new http API
Mike Hommey [Sat, 6 Jun 2009 08:43:58 +0000 (16:43 +0800)] 
http-push.c::fetch_symref(): use the new http API

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agohttp-push.c::remote_exists(): use the new http API
Mike Hommey [Sat, 6 Jun 2009 08:43:57 +0000 (16:43 +0800)] 
http-push.c::remote_exists(): use the new http API

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agohttp.c::http_fetch_ref(): use the new http API
Mike Hommey [Sat, 6 Jun 2009 08:43:55 +0000 (16:43 +0800)] 
http.c::http_fetch_ref(): use the new http API

The error message ("Unable to start request") has been removed, since
the http API already prints it.

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agotransport.c::get_refs_via_curl(): use the new http API
Mike Hommey [Sat, 6 Jun 2009 08:43:54 +0000 (16:43 +0800)] 
transport.c::get_refs_via_curl(): use the new http API

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agohttp.c: new functions for the http API
Mike Hommey [Sat, 6 Jun 2009 08:43:53 +0000 (16:43 +0800)] 
http.c: new functions for the http API

The new functions added are:
 - http_request() (internal function)
 - http_get_strbuf()
 - http_get_file()
 - http_error()

http_get_strbuf and http_get_file allow respectively to retrieve contents of
an URL to a strbuf or an opened file handle.

http_error prints out an error message containing the URL and the curl error
(in curl_errorstr).

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agohttp: create function end_url_with_slash
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:43 +0000 (16:43 +0800)] 
http: create function end_url_with_slash

The logic to append a slash to the url if necessary in quote_ref_url
(added in 113106e "http.c: use strbuf API in quote_ref_url") has been
moved to a new function, end_url_with_slash.

The method takes a strbuf, the URL, and the path to be appended to the
URL. It first adds the URL to the strbuf. It then appends a slash
if the URL does not end with a slash.

The check on ref in quote_ref_url for a slash at the beginning has been
removed as a result of using end_url_with_slash. This check is not
needed, because slashes will be quoted anyway.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agohttp*: move common variables and macros to http.[ch]
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:41 +0000 (16:43 +0800)] 
http*: move common variables and macros to http.[ch]

Move RANGE_HEADER_SIZE to http.h.

Create no_pragma_header, the curl header list containing the header
"Pragma:" in http.[ch]. It is allocated in http_init, and freed in
http_cleanup. This replaces the no_pragma_header in http-push.c, and
the no_pragma_header member in walker_data in http-walker.c.

Create http_is_verbose. It is to be used by methods in http.c, and is
modified at the entry points of http.c's users, namely http-push.c
(when parsing options) and http-walker.c (in get_http_walker).

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agotransport.c::get_refs_via_curl(): do not leak refs_url
Mike Hommey [Sat, 6 Jun 2009 08:43:40 +0000 (16:43 +0800)] 
transport.c::get_refs_via_curl(): do not leak refs_url

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDon't expect verify_pack() callers to set pack_size
Mike Hommey [Sun, 18 Jan 2009 08:04:26 +0000 (09:04 +0100)] 
Don't expect verify_pack() callers to set pack_size

Since use_pack() will end up populating pack_size if it is not already set,
we can just adapt the code in verify_packfile() such that it doesn't require
pack_size to be set beforehand.

This allows callers not to have to set pack_size themselves, and we can thus
revert changes from 1c23d794 (Don't die in git-http-fetch when fetching packs).

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agohttp-push: do not SEGV after fetching a bad pack idx file
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:37 +0000 (16:43 +0800)] 
http-push: do not SEGV after fetching a bad pack idx file

In a70c232 ("http-fetch: do not SEGV after fetching a bad pack idx
file"), changes were made to the setup_index method in http-fetch.c
(known in its present form as http-walker.c after 30ae764 ("Modularize
commit-walker")). Since http-push.c has similar similar code for
processing index files, these changes should apply to http-push.c's
implementation of setup_index as well.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agohttp*: copy string returned by sha1_to_hex
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:36 +0000 (16:43 +0800)] 
http*: copy string returned by sha1_to_hex

In the fetch_index implementations in http-push.c and http-walker.c,
the string returned by sha1_to_hex is assumed to stay immutable.

This patch ensures that hex stays immutable by copying the string
returned by sha1_to_hex (via xstrdup) and frees it subsequently. It
also refactors free()'s and fclose()'s with labels.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agohttp-walker: verify remote packs
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:34 +0000 (16:43 +0800)] 
http-walker: verify remote packs

In c17fb6e ("Verify remote packs, speed up pending request queue"),
changes were made to index fetching in http-push.c, particularly the
methods fetch_index and setup_index. Since http-walker.c has similar
code for index fetching, these improvements should apply to
http-walker.c's fetch_index and setup_index.

Invocations of free() of string memory are reproduced as well.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agohttp-push, http-walker: style fixes
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:33 +0000 (16:43 +0800)] 
http-push, http-walker: style fixes

- Use tabs to indent, instead of spaces.

- Do not use curly-braces around a single statement body in
  if/while statement;

- Do not start multi-line comment with description on the first
  line after "/*", i.e.

  /*
   * We prefer this over...
   */

  /* comments like
   * this (notice the first line)
   */

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot5550-http-fetch: test fetching of packed objects
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:32 +0000 (16:43 +0800)] 
t5550-http-fetch: test fetching of packed objects

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agohttp-push: fix missing "#ifdef USE_CURL_MULTI" around "is_running_queue"
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:31 +0000 (16:43 +0800)] 
http-push: fix missing "#ifdef USE_CURL_MULTI" around "is_running_queue"

As it is breaking the build when USE_CURL_MULTI is not defined.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agohttp-push: send out fetch requests on queue
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:27 +0000 (16:43 +0800)] 
http-push: send out fetch requests on queue

Previously, requests for remote files were simply added to the queue
(pointed to by request_queue_head) and no transfer actually takes
place (the fill function add_fill_function() is not added until line
2441), even though code that followed may rely on these remote files to
be present (eg. the setup_revisions invocation).

The code that sends out the requests on the request queue is refactored
into the method run_request_queue.

After the get_dav_remote_heads invocation (ie. after fetch requests are
added to the queue), the requests on the queue are sent out through an
invocation to run_request_queue.

This invocation to run_request_queue entails adding a fill function
before pushing checks take place, which may lead to accidental,
unwanted pushes previously.

The flag is_running_queue is introduced to prevent this from occurring.
fill_active_slot is made to check the flag is_running_queue before
the sending of the requests proceeds.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot5540-http-push: test fetching of packed objects
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:24 +0000 (16:43 +0800)] 
t5540-http-push: test fetching of packed objects

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot5540-http-push: test fetching of loose objects
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:23 +0000 (16:43 +0800)] 
t5540-http-push: test fetching of loose objects

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'rc/maint-http-local-slot-fix' into rc/http-push
Junio C Hamano [Sat, 6 Jun 2009 17:56:17 +0000 (10:56 -0700)] 
Merge branch 'rc/maint-http-local-slot-fix' into rc/http-push

* rc/maint-http-local-slot-fix:
  http*: cleanup slot->local after fclose

14 years agohttp*: cleanup slot->local after fclose
Tay Ray Chuan [Sat, 6 Jun 2009 08:43:26 +0000 (16:43 +0800)] 
http*: cleanup slot->local after fclose

Set slot->local to NULL after doing a fclose() on the file it points
to. This prevents the passing of a FILE* pointer to a fclose()'d file
to ftell() in http.c::run_active_slot().

This issue was raised by Clemens Buchacher on 30th May 2009:

  http://www.spinics.net/lists/git/msg104623.html

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'np/push-delta'
Junio C Hamano [Mon, 18 May 2009 16:01:16 +0000 (09:01 -0700)] 
Merge branch 'np/push-delta'

* np/push-delta:
  allow OFS_DELTA objects during a push

15 years agoMerge branch 'ar/merge-one-file-diag'
Junio C Hamano [Mon, 18 May 2009 16:01:11 +0000 (09:01 -0700)] 
Merge branch 'ar/merge-one-file-diag'

* ar/merge-one-file-diag:
  Clarify kind of conflict in merge-one-file helper

15 years agoMerge branch 'ar/unlink-err'
Junio C Hamano [Mon, 18 May 2009 16:01:06 +0000 (09:01 -0700)] 
Merge branch 'ar/unlink-err'

* ar/unlink-err:
  print unlink(2) errno in copy_or_link_directory
  replace direct calls to unlink(2) with unlink_or_warn
  Introduce an unlink(2) wrapper which gives warning if unlink failed

15 years agoMerge branch 'jk/maint-add-empty'
Junio C Hamano [Mon, 18 May 2009 16:01:01 +0000 (09:01 -0700)] 
Merge branch 'jk/maint-add-empty'

* jk/maint-add-empty:
  add: don't complain when adding empty project root

15 years agoMerge branch 'js/add-edit'
Junio C Hamano [Mon, 18 May 2009 16:00:06 +0000 (09:00 -0700)] 
Merge branch 'js/add-edit'

* js/add-edit:
  t3702: fix reliance on SHELL_PATH being '/bin/sh'
  git-add: introduce --edit (to edit the diff vs. the index)

15 years agoMerge branch 'mh/diff-stat-color'
Junio C Hamano [Mon, 18 May 2009 15:59:54 +0000 (08:59 -0700)] 
Merge branch 'mh/diff-stat-color'

* mh/diff-stat-color:
  diff: do not color --stat output like patch context

15 years agoMerge branch 'mh/show-branch-color'
Junio C Hamano [Mon, 18 May 2009 15:59:48 +0000 (08:59 -0700)] 
Merge branch 'mh/show-branch-color'

* mh/show-branch-color:
  bash completion: show-branch color support
  show-branch: color the commit status signs

Conflicts:
contrib/completion/git-completion.bash

15 years agoMerge branch 'ac/graph-horizontal-line'
Junio C Hamano [Mon, 18 May 2009 15:59:30 +0000 (08:59 -0700)] 
Merge branch 'ac/graph-horizontal-line'

* ac/graph-horizontal-line:
  graph API: Use horizontal lines for more compact graphs

15 years agoMerge branch 'ae/anon-fetch-info'
Junio C Hamano [Mon, 18 May 2009 15:59:27 +0000 (08:59 -0700)] 
Merge branch 'ae/anon-fetch-info'

* ae/anon-fetch-info:
  fetch: Strip usernames from url's before storing them

15 years agoMerge branch 'maint'
Junio C Hamano [Mon, 18 May 2009 15:59:20 +0000 (08:59 -0700)] 
Merge branch 'maint'

* maint:
  show-branch: Fix die message in parse_reflog_param()

15 years agoshow-branch: Fix die message in parse_reflog_param()
Stephen Boyd [Sun, 17 May 2009 10:47:02 +0000 (03:47 -0700)] 
show-branch: Fix die message in parse_reflog_param()

Commit 76a44c5 (show-branch --reflog: show the reflog message at the
top, 2007-01-19) introduced parse_reflog_param(). The die() call was
incorrectly passed arg + 9, when it should have been passed arg.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint'
Junio C Hamano [Sun, 17 May 2009 06:08:49 +0000 (23:08 -0700)] 
Merge branch 'maint'

* maint:
  completion: add missing options to show-branch and show
  dir.c: clean up handling of 'path' parameter in read_directory_recursive()
  Fix type-punning issues

15 years agocompletion: add missing options to show-branch and show
Stephen Boyd [Sun, 17 May 2009 03:42:43 +0000 (20:42 -0700)] 
completion: add missing options to show-branch and show

Add --oneline and --abbrev-commit to show and --sparse to show-branch.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodir.c: clean up handling of 'path' parameter in read_directory_recursive()
Linus Torvalds [Thu, 14 May 2009 20:05:03 +0000 (13:05 -0700)] 
dir.c: clean up handling of 'path' parameter in read_directory_recursive()

Right now we pass two different pathnames ('path' and 'base') down to
read_directory_recursive(), and the only real reason for that is that we
want to allow an empty 'base' parameter, but when we do so, we need the
pathname to "opendir()" to be "." rather than the empty string.

And rather than handle that confusion in the caller, we can just fix
read_directory_recursive() to handle the case of an empty path itself,
by just passing opendir() a "." ourselves if the path is empty.

This would allow us to then drop one of the pathnames entirely from the
calling convention, but rather than do that, we'll start separating them
out as a "filesystem pathname" (the one we use for filesystem accesses)
and a "git internal base name" (which is the name that we use for git
internally).

That will eventually allow us to do things like handle different
encodings (eg the filesystem pathnames might be Latin1, while git itself
would use UTF-8 for filename information).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoFix type-punning issues
Dan McGee [Tue, 12 May 2009 01:17:38 +0000 (20:17 -0500)] 
Fix type-punning issues

In these two places we are casting part of our unsigned char sha1 array into
an unsigned int, which violates GCCs strict-aliasing rules (and probably
other compilers).

Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint'
Junio C Hamano [Sun, 17 May 2009 02:49:42 +0000 (19:49 -0700)] 
Merge branch 'maint'

* maint:
  test: checkout shouldn't say that HEAD has moved if it didn't
  completion: enhance "current branch" display
  completion: simplify "current branch" in __git_ps1()
  completion: fix PS1 display during a merge on detached HEAD
  builtin-checkout: Don't tell user that HEAD has moved before it has
  pre-commit.sample: don't print incidental SHA1
  tests: Add tests for missing format-patch long options
  api-parse-options.txt: use 'func' instead of 'funct'
  Turn on USE_ST_TIMESPEC for OpenBSD
  ls-tree manpage: output of ls-tree is compatible with update-index
  ls-tree manpage: use "unless" instead of "when ... is not"

15 years agotest: checkout shouldn't say that HEAD has moved if it didn't
Nanako Shiraishi [Sun, 17 May 2009 02:43:08 +0000 (11:43 +0900)] 
test: checkout shouldn't say that HEAD has moved if it didn't

Signed-off-by: しらいしななこ <nanako3@lavabit.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agocompletion: enhance "current branch" display
Junio C Hamano [Sun, 10 May 2009 08:56:21 +0000 (01:56 -0700)] 
completion: enhance "current branch" display

Introduce GIT_PS1_DESCRIBE option you can set to "contains", "branch", or
"describe" to tweak the way how a detached HEAD is described.

The default behaviour is to describe only exact match with some tag
(otherwise use the first 7 hexdigits) as before.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agocompletion: simplify "current branch" in __git_ps1()
Junio C Hamano [Sun, 10 May 2009 08:53:19 +0000 (01:53 -0700)] 
completion: simplify "current branch" in __git_ps1()

As I very often work on a detached HEAD, I found it pretty confusing
when __git_ps1() said 'some-name'.  Did I create a branch with that name
by mistake, or do I happen to be on a commit with that exact tag?

This patch fixes the issue by enclosing non branch names in a pair of
parentheses when used to substitute %s token in __git_ps1() argument.

It also fixes a small bug where the branch part is left empty when
.git/HEAD is unreadable for whatever reason.  The output now says
"(unknown)".

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agocompletion: fix PS1 display during a merge on detached HEAD
Junio C Hamano [Sat, 16 May 2009 18:46:22 +0000 (11:46 -0700)] 
completion: fix PS1 display during a merge on detached HEAD

If your merge stops in a conflict while on a detached HEAD, recent
completion code fails to show anything.  This was because various cases
added to support the operation-in-progress markers (e.g. REBASE, MERGING)
forgot that they need to set the variable "b" to something for the result
they computed to be displayed at all.

Probably not many people make trial merges on a detached HEAD (which is
tremendously useful feature of git, by the way), and that may be why this
was not noticed for a long time.

Acked-By: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoImprove the naming of guessed target repository for git clone
Alex Riesen [Wed, 13 May 2009 16:32:06 +0000 (18:32 +0200)] 
Improve the naming of guessed target repository for git clone

Strip leading and trailing spaces off guessed target directory, and
replace sequences of whitespace and 'control' characters with one
space character.

User still can have any name by specifying it explicitely after url.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoUse UTF-8 instead of utf8 for backward compatibility
Alex Riesen [Thu, 14 May 2009 12:55:54 +0000 (14:55 +0200)] 
Use UTF-8 instead of utf8 for backward compatibility

An old iconv (GNU libiconv 1.11) does not know about utf8, it does know
UTF-8 though, which is also understood by all newer iconv implementations.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agobuiltin-checkout: Don't tell user that HEAD has moved before it has
Daniel Cordero [Sat, 16 May 2009 17:54:45 +0000 (10:54 -0700)] 
builtin-checkout: Don't tell user that HEAD has moved before it has

Previously, checkout would tell the user this message before moving HEAD,
without regard to whether the upcoming move will result in success.
If the move failed, this causes confusion.

Show the message after the move, unless the move failed.

Signed-off-by: Daniel Cordero <theappleman@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agopre-commit.sample: don't print incidental SHA1
Jim Meyering [Sat, 16 May 2009 10:21:50 +0000 (12:21 +0200)] 
pre-commit.sample: don't print incidental SHA1

Make the sample pre-commit hook script discard
all git-rev-parse output, not just stderr.
Otherwise, it would print an SHA1.

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agotests: Add tests for missing format-patch long options
Stephen Boyd [Sat, 16 May 2009 09:24:45 +0000 (02:24 -0700)] 
tests: Add tests for missing format-patch long options

Exercise format-patch's --signoff, --in-reply-to and --start-number long
options.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoapi-parse-options.txt: use 'func' instead of 'funct'
Stephen Boyd [Sat, 16 May 2009 09:24:44 +0000 (02:24 -0700)] 
api-parse-options.txt: use 'func' instead of 'funct'

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoTurn on USE_ST_TIMESPEC for OpenBSD
Tony Kemp [Thu, 14 May 2009 06:47:41 +0000 (16:47 +1000)] 
Turn on USE_ST_TIMESPEC for OpenBSD

Like Darwin, OpenBSD's stat struct uses st_ctimespec and st_mtimestruct
rather than st_ctim and st_mtim.

Signed-off-by: Tony Kemp <tony.kemp@newcastle.edu.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint-1.6.2' into maint
Junio C Hamano [Sat, 16 May 2009 07:12:58 +0000 (00:12 -0700)] 
Merge branch 'maint-1.6.2' into maint

* maint-1.6.2:
  ls-tree manpage: output of ls-tree is compatible with update-index
  ls-tree manpage: use "unless" instead of "when ... is not"

15 years agoMerge branch 'maint-1.6.1' into maint-1.6.2
Junio C Hamano [Thu, 14 May 2009 04:06:11 +0000 (21:06 -0700)] 
Merge branch 'maint-1.6.1' into maint-1.6.2

* maint-1.6.1:
  ls-tree manpage: output of ls-tree is compatible with update-index
  ls-tree manpage: use "unless" instead of "when ... is not"

15 years agoMerge branch 'maint-1.6.0' into maint-1.6.1
Junio C Hamano [Thu, 14 May 2009 04:05:59 +0000 (21:05 -0700)] 
Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
  ls-tree manpage: output of ls-tree is compatible with update-index
  ls-tree manpage: use "unless" instead of "when ... is not"

15 years agoQuote LF in urls git fetch saves in FETCH_HEAD
Alex Riesen [Wed, 13 May 2009 18:08:53 +0000 (20:08 +0200)] 
Quote LF in urls git fetch saves in FETCH_HEAD

The fmt-merge-msg does a strong syntax checking of its input and fails
with if it is incorrect. The LF character is the only character
important for fmt-merge-msg. As the url in FETCH_HEAD plays only
informational role, a quoted representation of the url should be good
and true enough.
The url often comes from either user-editable config or command line,
so it is reasonable to expect all kinds of characters in it, including
the characters which the format of FETCH_HEAD considers special (line
separator in this case).

Noticed and reported by Hugo Mildenberger.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoDocumentation: clarify / requirement in 'git check-ref-format'
Michael J Gruber [Wed, 13 May 2009 15:43:06 +0000 (17:43 +0200)] 
Documentation: clarify / requirement in 'git check-ref-format'

'git check-ref-format' checks for the presence of at least one '/', the
idea being that there should be no refs directly below 'refs/', so there
should be a category like 'heads/' or 'tags/' in a refname.

Try and make this clearer in the man page.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agobash completion: complete variable names for "git config" with options
Stephen Boyd [Sat, 9 May 2009 01:23:32 +0000 (18:23 -0700)] 
bash completion: complete variable names for "git config" with options

This makes it easier for users to get and unset their configuration
variables without having to open documentation or dig through their
configuration file.

__git_config_get_set_variables() retrieves the set configuration
variables from the appropriate configuration file. For example, if
the user has previously specified --global only the global variables
are returned. The same applies for --system, and --file. If no
location has been specified, all set variables are returned.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint'
Junio C Hamano [Wed, 13 May 2009 05:51:09 +0000 (22:51 -0700)] 
Merge branch 'maint'

* maint:
  GIT 1.6.3.1
  Revert "checkout branch: prime cache-tree fully"

15 years agoGIT 1.6.3.1 v1.6.3.1
Junio C Hamano [Wed, 13 May 2009 05:28:22 +0000 (22:28 -0700)] 
GIT 1.6.3.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint-1.6.2' into maint
Junio C Hamano [Tue, 12 May 2009 16:58:34 +0000 (09:58 -0700)] 
Merge branch 'maint-1.6.2' into maint

* maint-1.6.2:
  Revert "checkout branch: prime cache-tree fully"

15 years agoMerge branch 'jc/maint-read-tree-multi' into maint-1.6.2
Junio C Hamano [Tue, 12 May 2009 16:58:21 +0000 (09:58 -0700)] 
Merge branch 'jc/maint-read-tree-multi' into maint-1.6.2

* jc/maint-read-tree-multi:
  Revert "checkout branch: prime cache-tree fully"

15 years agoRevert "checkout branch: prime cache-tree fully"
Junio C Hamano [Tue, 12 May 2009 16:41:28 +0000 (09:41 -0700)] 
Revert "checkout branch: prime cache-tree fully"

The logic in 83ae209 (checkout branch: prime cache-tree fully,
2009-04-20) is bogus; checkout can switch branches with a dirty
index and in such a case the tree won't match HEAD.

Add t2014-switch to catch this breakage.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agot3900: ISO-2022-JP has more than one popular variants
Junio C Hamano [Tue, 12 May 2009 09:01:51 +0000 (02:01 -0700)] 
t3900: ISO-2022-JP has more than one popular variants

When converting from other encodings (e.g. EUC-JP or UTF-8), there are
subtly different variants of ISO-2022-JP, all of which are valid.  At the
end of line or when a run of string switches to 1-byte sequence, ESC ( B
can be used to switch to ASCII or ESC ( J can be used to switch to ISO
646:JP (JIS X 0201) but they essentially are the same character set and
are used interchangeably.  Similarly the set ESC $ @ switches to (JIS X
0208-1978) and ESC $ B switches to (JIS X 0208-1983) are in practice used
interchangeably.

Depending on the iconv library and the locale definition on the system, a
program that converts from another encoding to ISO-2022-JP can produce
different byte sequence, and GIT_TEST_CMP (aka "diff -u") will report the
difference as a failure.

Fix this by converting the expected and the actual output to UTF-8 before
comparing when the end result is ISO-2022-JP.  The test vector string in
t3900/ISO-2022-JP.txt is expressed with ASCII and JIS X 0208-1983, but it
can be expressed with any other possible variant, and when converted back
to UTF-8, these variants produce identical byte sequences.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agols-tree manpage: output of ls-tree is compatible with update-index
Alex Riesen [Sun, 10 May 2009 16:14:49 +0000 (18:14 +0200)] 
ls-tree manpage: output of ls-tree is compatible with update-index

Such format relationships are very useful things to remember for
script writers.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agols-tree manpage: use "unless" instead of "when ... is not"
Alex Riesen [Sun, 10 May 2009 16:13:45 +0000 (18:13 +0200)] 
ls-tree manpage: use "unless" instead of "when ... is not"

Delayed negation in a statement is harder to spot and keep in mind.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint'
Junio C Hamano [Sat, 9 May 2009 16:27:43 +0000 (09:27 -0700)] 
Merge branch 'maint'

* maint:
  Documentation: cloning to empty directory is allowed
  Clarify kind of conflict in merge-one-file helper
  git config: clarify --add and --get-color
  archive-tar.c: squelch a type mismatch warning

15 years agoallow -t abbreviation for --track in git branch
Sitaram Chamarty [Tue, 28 Apr 2009 15:21:20 +0000 (20:51 +0530)] 
allow -t abbreviation for --track in git branch

also makes it consistent with git-checkout

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoadd: don't complain when adding empty project root
Jeff King [Wed, 29 Apr 2009 03:21:01 +0000 (23:21 -0400)] 
add: don't complain when adding empty project root

We try to warn the user if one of their pathspecs caused no
matches, as it may have been a typo. However, we disable the
warning if the pathspec points to an existing file, since
that means it is not a typo but simply an empty directory.

Unfortunately, the file_exists() test was broken for one
special case: the pathspec of the project root is just "".
This patch detects this special case and acts as if the file
exists (which it must, since it is the project root).

The user-visible effect is that this:

  $ mkdir repo && cd repo && git init && git add .

used to complain like:

  fatal: pathspec '' did not match any files

but now is a silent no-op.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogitweb: Remove function prototypes (cleanup)
Jakub Narebski [Thu, 7 May 2009 17:11:29 +0000 (19:11 +0200)] 
gitweb: Remove function prototypes (cleanup)

Use of function prototypes is considered bad practice in Perl.  The
ones used here didn't accomplish anything anyhow, so they've been
removed.

>From perlsub(1):

  [...] the intent of this feature [prototypes] is primarily to let
  you define subroutines that work like built-in functions [...]
  you can generate new syntax with it [...]

We don't want to have subroutines behaving exactly like built-in
functions, we don't want to define new syntax / syntactic sugar, so
prototypes in gitweb are not needed... and they can have unintended
consequences.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoDocumentation: cloning to empty directory is allowed
Alexander Potashev [Thu, 7 May 2009 12:04:08 +0000 (16:04 +0400)] 
Documentation: cloning to empty directory is allowed

Cloning into an existing empty directory is now allowed:
commit 55892d23981917aefdb387ad7d0429f90cbd446a
("Allow cloning to an existing empty directory")

Signed-off-by: Alexander Potashev <aspotashev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoClarify kind of conflict in merge-one-file helper
Alex Riesen [Wed, 29 Apr 2009 21:40:50 +0000 (23:40 +0200)] 
Clarify kind of conflict in merge-one-file helper

Not as verbose as the recursive merge driver, but better still.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit config: clarify --add and --get-color
Felipe Contreras [Wed, 6 May 2009 22:57:08 +0000 (01:57 +0300)] 
git config: clarify --add and --get-color

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoarchive-tar.c: squelch a type mismatch warning
Junio C Hamano [Thu, 7 May 2009 08:08:19 +0000 (01:08 -0700)] 
archive-tar.c: squelch a type mismatch warning

On some systems, giving a value of type time_t to printf "%lo" that
expects an unsigned long would give a type mismatch warning.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoStart 1.6.4 development
Junio C Hamano [Sat, 9 May 2009 04:56:57 +0000 (21:56 -0700)] 
Start 1.6.4 development

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoStart 1.6.3.1 maintenance series.
Junio C Hamano [Sat, 9 May 2009 04:49:14 +0000 (21:49 -0700)] 
Start 1.6.3.1 maintenance series.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint-1.6.1' into maint-1.6.2
Junio C Hamano [Sat, 9 May 2009 04:13:47 +0000 (21:13 -0700)] 
Merge branch 'maint-1.6.1' into maint-1.6.2

* maint-1.6.1:

15 years agoMerge branch 'maint-1.6.0' into maint-1.6.1
Junio C Hamano [Sat, 9 May 2009 04:12:41 +0000 (21:12 -0700)] 
Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
  dir.c: Fix two minor grammatical errors in comments

15 years agoGIT 1.6.3 v1.6.3
Junio C Hamano [Thu, 7 May 2009 00:13:27 +0000 (17:13 -0700)] 
GIT 1.6.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agot4029: use sh instead of bash
Nguyễn Thái Ngọc Duy [Wed, 6 May 2009 14:33:34 +0000 (00:33 +1000)] 
t4029: use sh instead of bash

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agot4200: convert sed expression which operates on non-text file to perl
Brandon Casey [Wed, 6 May 2009 22:56:18 +0000 (17:56 -0500)] 
t4200: convert sed expression which operates on non-text file to perl

POSIX only requires sed to work on text files and MERGE_RR is not a text
file.  Some versions of sed complain that this file is not newline
terminated, and exit non-zero.  Use perl instead which does not have a
problem with it.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agot4200: remove two unnecessary lines
Brandon Casey [Wed, 6 May 2009 22:56:17 +0000 (17:56 -0500)] 
t4200: remove two unnecessary lines

These two lines appear to be unnecessary.  They set variables which are not
used afterwards.  The primary motivation to remove them is that the sed
invocation exits non-zero for seds which require newline termination of
input files.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agot/annotate-tests.sh: avoid passing a non-newline terminated file to sed
Brandon Casey [Wed, 6 May 2009 18:29:16 +0000 (13:29 -0500)] 
t/annotate-tests.sh: avoid passing a non-newline terminated file to sed

Some versions of sed exit non-zero if the file they are supplied is not
newline terminated.  Solaris's /usr/xpg4/bin/sed is one such sed.  So
rework this test to avoid doing so.

This affects tests t8001-annotate.sh and t8002-blame.sh.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agot4118: avoid sed invocation on file without terminating newline
Brandon Casey [Wed, 6 May 2009 18:29:15 +0000 (13:29 -0500)] 
t4118: avoid sed invocation on file without terminating newline

Some versions of sed exit non-zero if the file they are supplied is not
newline terminated. Solaris's /usr/xpg4/bin/sed is one such sed.  In
this case the sed invocation can be avoided entirely since the resulting
file is equivalent to a previously created file.  So, just copy that file
into place instead.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agot4118: add missing '&&'
Brandon Casey [Wed, 6 May 2009 18:29:14 +0000 (13:29 -0500)] 
t4118: add missing '&&'

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agot8005: use egrep when extended regular expressions are required
Brandon Casey [Wed, 6 May 2009 18:31:42 +0000 (13:31 -0500)] 
t8005: use egrep when extended regular expressions are required

Not all versions of grep understand backslashed extended regular
expressions.  Possibly only gnu grep does.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-clean doc: the command only affects paths under $(cwd)
Junio C Hamano [Wed, 6 May 2009 17:48:26 +0000 (10:48 -0700)] 
git-clean doc: the command only affects paths under $(cwd)

Fredrik Skolmli and Thomas Rast noticed that it was left unstated that
"git clean" ran from a subdirectory will not affect anything outside it,
with or without path limiters.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint'
Junio C Hamano [Wed, 6 May 2009 05:52:17 +0000 (22:52 -0700)] 
Merge branch 'maint'

* maint:
  improve error message in config.c
  t4018-diff-funcname: add cpp xfuncname pattern to syntax test
  Work around BSD whose typeof(tv.tv_sec) != time_t
  git-am.txt: reword extra headers in message body
  git-am.txt: Use date or value instead of time or timestamp
  git-am.txt: add an 'a', say what 'it' is, simplify a sentence
  dir.c: Fix two minor grammatical errors in comments
  git-svn: fix a sloppy Getopt::Long usage

15 years agoMerge branch 'rj/maint-1.6.0-svn-parse-fix' into maint
Junio C Hamano [Wed, 6 May 2009 05:51:49 +0000 (22:51 -0700)] 
Merge branch 'rj/maint-1.6.0-svn-parse-fix' into maint

* rj/maint-1.6.0-svn-parse-fix:
  git-svn: fix a sloppy Getopt::Long usage

15 years agoMerge branch 'maint-1.6.0' into maint
Junio C Hamano [Wed, 6 May 2009 05:51:31 +0000 (22:51 -0700)] 
Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
  dir.c: Fix two minor grammatical errors in comments

15 years agoimprove error message in config.c
Alex Riesen [Wed, 29 Apr 2009 21:27:54 +0000 (23:27 +0200)] 
improve error message in config.c

Show errno if opening a lockfile fails.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agot4018-diff-funcname: add cpp xfuncname pattern to syntax test
Brandon Casey [Sat, 2 May 2009 14:31:16 +0000 (09:31 -0500)] 
t4018-diff-funcname: add cpp xfuncname pattern to syntax test

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoWork around BSD whose typeof(tv.tv_sec) != time_t
Bernd Ahlers [Mon, 6 Apr 2009 17:26:37 +0000 (19:26 +0200)] 
Work around BSD whose typeof(tv.tv_sec) != time_t

According to POSIX, tv_sec is supposed to be a time_t, but OpenBSD
(and FreeBSD, too) defines it to be a long, which triggers a type
mismatch when a pointer to it is given to localtime_r().

Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-am.txt: reword extra headers in message body
Stephen Boyd [Mon, 4 May 2009 06:46:58 +0000 (23:46 -0700)] 
git-am.txt: reword extra headers in message body

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-am.txt: Use date or value instead of time or timestamp
Stephen Boyd [Tue, 5 May 2009 05:19:00 +0000 (22:19 -0700)] 
git-am.txt: Use date or value instead of time or timestamp

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-am.txt: add an 'a', say what 'it' is, simplify a sentence
Stephen Boyd [Tue, 5 May 2009 05:18:42 +0000 (22:18 -0700)] 
git-am.txt: add an 'a', say what 'it' is, simplify a sentence

It's nice to know that 'it' is git-am or the subject line. Whitespace
implies characters so just remove characters.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agocompletion: complete values for send-email
Stephen Boyd [Mon, 4 May 2009 06:25:35 +0000 (23:25 -0700)] 
completion: complete values for send-email

Add completion for --confirm, --suppress-cc, and --smtp-encryption
command line arguments. Add completion for aliasfiletype and confirm
configuration variables.

Since --smtp-ssl is deprecated, replace it with --smtp-encryption and
the two options ssl and tls.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agocompletion: complete values for log.date
Stephen Boyd [Mon, 4 May 2009 06:25:34 +0000 (23:25 -0700)] 
completion: complete values for log.date

Add raw to the date formats too.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agocompletion: complete values for help.format
Stephen Boyd [Mon, 4 May 2009 06:25:33 +0000 (23:25 -0700)] 
completion: complete values for help.format

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agocompletion: add {gui,diff,merge}tool, man, and pager config variables
Stephen Boyd [Mon, 4 May 2009 06:25:32 +0000 (23:25 -0700)] 
completion: add {gui,diff,merge}tool, man, and pager config variables

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agocompletion: add missing configuration variables to _git_config()
Stephen Boyd [Mon, 4 May 2009 06:25:31 +0000 (23:25 -0700)] 
completion: add missing configuration variables to _git_config()

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodir.c: Fix two minor grammatical errors in comments
Allan Caffee [Mon, 4 May 2009 17:37:30 +0000 (13:37 -0400)] 
dir.c: Fix two minor grammatical errors in comments

Signed-off-by: Allan Caffee <allan.caffee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-svn: fix a sloppy Getopt::Long usage
Robin H. Johnson [Tue, 5 May 2009 18:16:14 +0000 (11:16 -0700)] 
git-svn: fix a sloppy Getopt::Long usage

Getopt-Long v2.38 is much stricter about sloppy getopt usage. The
trailing pipe causes git-svn testcases to fail for all of the --stdin
argument calls.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoSync with GIT 1.6.2.5
Junio C Hamano [Sun, 3 May 2009 23:46:34 +0000 (16:46 -0700)] 
Sync with GIT 1.6.2.5