Commit Graph

4130 Commits

Author SHA1 Message Date
Junio C Hamano
7561d9f544 commit-tree: check return value from write_sha1_file()
... found by Matthias Kestenholz.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-24 22:23:25 -08:00
Junio C Hamano
88d9405600 Merge branch 'jc/name' into next
* jc/name:
  sha1_name: make core.warnambiguousrefs the default.
  sha1_name: warning ambiguous refs.
2006-03-23 23:52:42 -08:00
Junio C Hamano
79f558a5fc Merge branch 'jc/cvsimport'
* jc/cvsimport:
  cvsimport: fix reading from rev-parse
  cvsimport: honor -i and non -i upon subsequent imports
2006-03-23 23:49:07 -08:00
Junio C Hamano
bdaa085f8c Merge branch 'jc/pull'
* jc/pull:
  git-pull: reword "impossible to fast-forward" message.
  git-pull: further safety while on tracking branch.
2006-03-23 23:47:32 -08:00
Junio C Hamano
9bc8b776c5 Merge branch 'jc/fetch'
* jc/fetch:
  fetch: exit non-zero when fast-forward check fails.
2006-03-23 23:46:06 -08:00
Junio C Hamano
8a8e623514 send-email: Identify author at the top when sending e-mail
git-send-email did not check if the sender is the same as the
patch author.  Follow the "From: at the beginning" convention to
propagate the patch author correctly.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-23 23:43:52 -08:00
Junio C Hamano
1b371f567d sha1_name: make core.warnambiguousrefs the default.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-23 23:42:40 -08:00
Junio C Hamano
84a9b58c42 sha1_name: warning ambiguous refs.
This makes sure that many commands that take refs on the command
line to honor core.warnambiguousrefs configuration.  Earlier,
the commands affected by this patch did not read the
configuration file.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-23 23:41:18 -08:00
Francis Daly
b0d08a504b Format tweaks for asciidoc.
Some documentation "options" were followed by independent preformatted
paragraphs. Now they are associated plain text paragraphs. The
difference is clear in the generated html.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-22 11:06:19 -08:00
Junio C Hamano
dcd0409fc5 Merge branch 'jc/pull' into next
* jc/pull:
  git-pull: reword "impossible to fast-forward" message.
  git-pull: further safety while on tracking branch.
2006-03-22 01:57:24 -08:00
Junio C Hamano
8323124afe git-pull: reword "impossible to fast-forward" message.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-22 01:57:11 -08:00
Junio C Hamano
cf46e7b899 git-pull: further safety while on tracking branch.
Running 'git pull' while on the tracking branch has a built-in
safety valve to fast-forward the index and working tree to match
the branch head, but it errs on the safe side too cautiously.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-22 01:09:43 -08:00
Junio C Hamano
8ff8eea016 Merge branch 'jc/revlist' into next
* jc/revlist:
  rev-list --timestamp
  git-apply: do not barf when updating an originally empty file.
  http-push.c: squelch C90 warnings.
  fix field width/precision warnings in blame.c
2006-03-22 00:52:41 -08:00
Junio C Hamano
ac5a85181a Merge branch 'jc/clone' into next
* jc/clone:
  git-clone: typofix.
2006-03-22 00:52:36 -08:00
Junio C Hamano
4c2e98d6ce git-clone: typofix.
The traditional one created refs/origin by mistake, not
refs/heads/origin.  Also it mistakenly failed to prevent
$origin from being listed twice in remotes/origin file.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-22 00:50:32 -08:00
Junio C Hamano
dc68c4fff4 rev-list --timestamp
This prefixes the raw commit timestamp to the output.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-22 00:22:00 -08:00
Junio C Hamano
3103cf9e1e git-apply: do not barf when updating an originally empty file.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-22 00:21:07 -08:00
Junio C Hamano
8c9e7947c2 http-push.c: squelch C90 warnings.
If you write code after declarations in a block, gcc scolds you
with "warning: ISO C90 forbids mixed declarations and code".

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-21 15:50:18 -08:00
Luck, Tony
2928390774 fix field width/precision warnings in blame.c
Using "size_t" values for printf field width/precision upsets gcc, it
wants to see an "int".

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-21 15:39:44 -08:00
Paul Mackerras
7a1d9d14c8 gitk: Fix two bugs reported by users
The first was a simple typo where I put $yc instead of [yc $row].
The second was that I broke the logic for keeping up with fast
movement through the commits, e.g. when you select a commit and then
press down-arrow and let it autorepeat.  That got broken when I
changed the merge diff display to use git-diff-tree --cc.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-03-22 10:21:45 +11:00
Junio C Hamano
d293b28127 Merge branch 'jc/clone' into next
* jc/clone:
  clone: record the remote primary branch with remotes/$origin/HEAD
2006-03-21 02:04:50 -08:00
Junio C Hamano
5a6696a0ed Merge branch 'jc/name' into next
* jc/name:
  get_sha1_basic(): try refs/... and finally refs/remotes/$foo/HEAD
2006-03-21 02:04:46 -08:00
Junio C Hamano
5ceb05f82e clone: record the remote primary branch with remotes/$origin/HEAD
This matches c51d13692d commit to
record the primary branch of the remote with a symbolic ref
remotes/$origin/HEAD.  The user can later change it to point at
different branch to change the meaning of "$origin" shorthand.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-21 02:02:46 -08:00
Junio C Hamano
c51d13692d get_sha1_basic(): try refs/... and finally refs/remotes/$foo/HEAD
This implements the suggestion by Jeff King to use
refs/remotes/$foo/HEAD to interpret a shorthand "$foo" to mean
the primary branch head of a tracked remote.  clone needs to be
told about this convention as well.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-21 01:42:04 -08:00
Junio C Hamano
f1250edff5 Merge branch 'jc/name' into next
* jc/name:
  core.warnambiguousrefs: warns when "name" is used and both "name" branch and tag exists.
  contrib/git-svn: allow rebuild to work on non-linear remote heads
  http-push: don't assume char is signed
  http-push: add support for deleting remote branches
  Be verbose when !initial commit
  Fix multi-paragraph list items in OPTIONS section
  http-fetch: nicer warning for a server with unreliable 404 status
2006-03-21 00:15:21 -08:00
Junio C Hamano
83c137928c Merge branch 'jc/clone' into next
* jc/clone:
  revamp git-clone (take #2).
2006-03-21 00:15:15 -08:00
Junio C Hamano
47874d6d9a revamp git-clone (take #2).
This builds on top of the previous one.

 * --use-separate-remote uses .git/refs/remotes/$origin/
   directory to keep track of the upstream branches.

 * The $origin above defaults to "origin" as usual, but the
   existing "-o $origin" option can be used to override it.

I am not yet convinced if we should make "$origin" the synonym to
"refs/remotes/$origin/$name" where $name is the primary branch
name of $origin upstream, nor if so how we should decide which
upstream branch is the primary one, but that is more or less
orthogonal to what the clone does here.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-21 00:14:13 -08:00
Junio C Hamano
2f8acdb38e core.warnambiguousrefs: warns when "name" is used and both "name" branch and tag exists.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-20 23:34:17 -08:00
Eric Wong
ac74905064 contrib/git-svn: allow rebuild to work on non-linear remote heads
Because committing back to an SVN repository from different
machines can result in different lineages, two different
repositories running git-svn can result in different commit
SHA1s (but of the same tree).  Sometimes trees that are tracked
independently are merged together (usually via children),
resulting in non-unique git-svn-id: lines in rev-list.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-20 23:31:19 -08:00
Nick Hengeveld
a3c57c9adb http-push: don't assume char is signed
Declare remote_dir_exists[] as signed char to be sure that values of -1
are valid.

Signed-off-by: Nick Hengeveld <nickh@reactrix.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-20 14:38:58 -08:00
Nick Hengeveld
3dfaf7bcfd http-push: add support for deleting remote branches
Processes new command-line arguments -d and -D to remove a remote branch
if the following conditions are met:
- one branch name is present on the command line
- the specified branch name matches exactly one remote branch name
- the remote HEAD is a symref
- the specified branch is not the remote HEAD
- the remote HEAD resolves to an object that exists locally (-d only)
- the specified branch resolves to an object that exists locally (-d only)
- the specified branch is an ancestor of the remote HEAD (-d only)

Signed-off-by: Nick Hengeveld <nickh@reactrix.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-20 14:38:47 -08:00
Yasushi SHOJI
1fa7a68f4b Be verbose when !initial commit
verbose option in git-commit.sh lead us to run git-diff-index, which
needs a commit-ish we are making diff against.  When we are commiting
the fist set, we obviously don't have any commit-ish in the repo.  So
we just skip the git-diff-index run.

It might be possible to produce diff against empty but do we need
that?

Signed-off-by: Yasushi SHOJI <yashi@atmark-techno.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-20 14:37:59 -08:00
Francis Daly
3070b603ab Fix multi-paragraph list items in OPTIONS section
This patch makes the html docs right, makes the asciidoc docs a bit odd
but consistent with what is there already, and makes the manpages look
OK using docbook-xsl 1.68, but miss a paragraph separator when using 1.69.

For the manpages, current is like

       -A <author_file>
              Read a file with lines on the form

              username = User's Full Name <email@addr.es>

              and use "User's Full Name <email@addr.es>" as the GIT

With this patch, docbook-xsl v1.68 looks like

       -A <author_file>
              Read a file with lines on the form

                      username = User's Full Name <email@addr.es>

              and use "User's Full Name <email@addr.es>" as the GIT author and

while docbook-xsl v1.69 becomes

       -A <author_file>
              Read a file with lines on the form

                        username = User's Full Name <email@addr.es>
              and use "User's Full Name <email@addr.es>" as the GIT author and

The extra indentation is to keep the v1.69 manpage looking sane.
2006-03-20 14:37:33 -08:00
Junio C Hamano
bb52807916 http-fetch: nicer warning for a server with unreliable 404 status
When a repository otherwise properly prepared is served by a
dumb HTTP server that sends "No such page" output with 200
status for human consumption to a request for a page that does
not exist, the users will get an alarming "File X corrupt" error
message.  Hint that they might be dealing with such a server at
the end and suggest running fsck-objects to check if the result
is OK (the pack-fallback code does the right thing in this case
so unless a loose object file was actually corrupt the result
should check OK).

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-20 14:07:59 -08:00
Junio C Hamano
e2fc650eef Merge branch 'jc/merge' into next
* jc/merge:
  git-merge knows some strategies want to skip trivial merges
  generate-cmdlist: style cleanups.
  Add missing semicolon to sed command.
  unpack_delta_entry(): reduce memory footprint.
  git.el: Added a function to diff against the other heads in a merge.
  git.el: Get the default user name and email from the repository config.
  git.el: More robust handling of subprocess errors when returning strings.
2006-03-20 00:51:07 -08:00
Junio C Hamano
1656313297 Merge branch 'jc/clone' into next
* jc/clone:
  revamp git-clone.
2006-03-20 00:50:58 -08:00
Junio C Hamano
6ea23343ce git-merge knows some strategies want to skip trivial merges
Most notably "ours".  Also this makes sure we do not record
duplicated parents on the parent list of the resulting commit.

This is based on Mark Wooding's work, but does not change the UI
nor introduce new flags.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-20 00:50:37 -08:00
Junio C Hamano
dfeff66ed9 revamp git-clone.
This does two things.

 * A new flag --reference can be used to name a local repository
   that is to be used as an alternate.  This is in response to
   an inquiry by James Cloos in the message on the list
   <m3r74ykue7.fsf@lugabout.cloos.reno.nv.us>.

 * A new flag --use-separate-remote stops contaminating local
   branch namespace by upstream branch names.  The upstream
   branch heads are copied in .git/refs/remotes/ instead of
   .git/refs/heads/ and .git/remotes/origin file is set up to
   reflect this as well.  It requires to have fetch/pull update
   to understand .git/refs/remotes by Eric Wong to further
   update the repository cloned this way.

For the former change, git-fetch-pack is taught a new flag --all
to fetch from all the remote heads.  Nobody uses the git-clone-pack
with this change, so we could deprecate the command, but removal
of the command will be left to a separate round.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-20 00:21:10 -08:00
Junio C Hamano
fd662dd500 generate-cmdlist: style cleanups.
Instead of giving multiple commands concatenated with semicolon
to sed, write them on separate lines.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-19 23:54:45 -08:00
Shawn Pearce
ad52e7708d Add missing semicolon to sed command.
generate-cmdlist.sh is giving errors messages from sed on Mac OS
10.4 due to a missing semicolon.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-19 16:38:24 -08:00
Junio C Hamano
67686d9504 unpack_delta_entry(): reduce memory footprint.
Currently we unpack the delta data from the pack and then unpack
the base object to apply that delta data to it.  When getting an
object that is deeply deltified, we can reduce memory footprint
by unpacking the base object first and then unpacking the delta
data, because we will need to keep at most one delta data in
memory that way.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-19 13:43:42 -08:00
Alexandre Julliard
2b1c0ef2e5 git.el: Added a function to diff against the other heads in a merge.
git-diff-file-merge-head generates a diff against the first merge
head, or with a prefix argument against the nth head. Bound to `d h'
by default.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-19 12:30:14 -08:00
Alexandre Julliard
75a8180d4b git.el: Get the default user name and email from the repository config.
If user name or email are not set explicitly, get them from the
user.name and user.email configuration values before falling back to
the Emacs defaults.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-19 12:30:07 -08:00
Alexandre Julliard
9de83169d3 git.el: More robust handling of subprocess errors when returning strings.
Make sure that functions that call a git process and return a string
always return nil when the subprocess failed.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-19 12:30:01 -08:00
Junio C Hamano
b7986ce884 Merge branch 'master' into next
* master:
  Makefile: Add TAGS and tags targets
  ls-files: Don't require exclude files to end with a newline.
2006-03-18 14:58:20 -08:00
Fredrik Kuivinen
f81e7c626f Makefile: Add TAGS and tags targets
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-18 14:01:46 -08:00
Alexandre Julliard
451d7b47f1 ls-files: Don't require exclude files to end with a newline.
Without this patch, the last line of an exclude file is silently
ignored if it doesn't end with a newline.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-18 14:01:37 -08:00
Paul Mackerras
eb447a126c gitk: Improve appearance of first child links
The point where the line for a parent joins to the first child
shown is visually different from the lines to the other children,
because the line doesn't branch, but terminates at the child.
Because of this, we now treat the first child a little differently
in the optimizer, and we draw its link in drawlineseg rather
than drawparentlinks.  This improves the appearance of the graph.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-03-18 23:11:37 +11:00
Junio C Hamano
2fc27528f6 Merge branch 'master' into next
* master:
  git-pull: run repo-config with dash form.
2006-03-18 02:08:10 -08:00
Junio C Hamano
f5ef535ff5 git-pull: run repo-config with dash form.
... as discussed on the list for consistency.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-18 02:07:59 -08:00