Commit Graph

1038 Commits

Author SHA1 Message Date
Junio C Hamano
0032e13998 Merge branch 'ap/clone-origin' into next
* ap/clone-origin:
  Explicitly add the default "git pull" behaviour to .git/config on clone
  git-merge: fix "fix confusion between tag and branch" for real
  git-svn: avoid network timeouts for long-running fetches
  gitweb: Allow PNG, GIF, JPEG images to be displayed in "blob" view
  git-merge: squelch needless error message.
  git-reset to remove "$GIT_DIR/MERGE_MSG"
  cvs-migration: improved section titles, better push/commit explanation
  cvs-migration document: make the need for "push" more obvious
2006-12-06 11:24:14 -08:00
J. Bruce Fields
4003a58e41 cvs-migration: improved section titles, better push/commit explanation
Rename the section titles to make the "how-to" content of the section
obvious.  Also clarify that changes have to be commited before they can
be pushed.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-06 09:53:33 -08:00
Johannes Schindelin
3a9f1a55ee cvs-migration document: make the need for "push" more obvious
It really is an important concept to grasp for people coming
from CVS. Even if it is briefly mentioned, it is not obvious
enough to sink in.

[jc: with wording updates from J. Bruce Fields]

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-06 09:52:57 -08:00
Junio C Hamano
541961642a Merge branch 'lh/branch-rename' into next
* lh/branch-rename:
  git-branch: let caller specify logmsg
  rename_ref: use lstat(2) when testing for symlink
  git-branch: add options and tests for branch renaming
2006-12-05 23:51:16 -08:00
Lars Hjemli
c976d415e5 git-branch: add options and tests for branch renaming
Extend git-branch with the following options:

  git-branch -m|-M [<oldbranch>] newbranch

The -M variation is required to force renaming over an exsisting
branchname.

This also indroduces $GIT_DIR/RENAME_REF which is a "metabranch"
used when renaming branches. It will always hold the original sha1
for the latest renamed branch.

Additionally, if $GIT_DIR/logs/RENAME_REF exists, all branch rename
events are logged there.

Finally, some testcases are added to verify the new options.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-05 23:50:57 -08:00
Junio C Hamano
cc5aa89fd6 Merge branch 'jc/read-tree-ignore' into next
* jc/read-tree-ignore:
  read-tree: document --exclude-per-directory
  Loosen "working file will be lost" check in Porcelain-ish
  read-tree: further loosen "working file will be lost" check.

Conflicts:

	git-merge.sh
2006-12-05 23:49:37 -08:00
Junio C Hamano
22f741dab7 read-tree: document --exclude-per-directory
This documents the new option to read-tree that is used for the
improved "branch switching" code.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-05 23:44:23 -08:00
Junio C Hamano
811cd595ff Merge branch 'np/addcommit' into next
* np/addcommit:
  make 'git add' a first class user friendly interface to the index
2006-12-04 16:33:58 -08:00
Nicolas Pitre
366bfcb68f make 'git add' a first class user friendly interface to the index
This brings the power of the index up front using a proper mental model
without talking about the index at all. See for example how all the
technical discussion has been evacuated from the git-add man page.

   Any content to be committed must be added together.  Whether that
   content comes from new files or modified files doesn't matter.  You
   just need to "add" it, either with git-add, or by providing
   git-commit with -a (for already known files only of course).

No need for a separate command to distinguish new vs modified files
please. That would only screw the mental model everybody should have
when using GIT.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-04 16:33:51 -08:00
Junio C Hamano
85bac95e5f Merge branch 'js/diff-b' into next
* js/diff-b:
  Document git-diff whitespace flags -b and -w
  diff -b: ignore whitespace at end of line
  receive-pack: do not insist on fast-forward outside refs/heads/
  git-fetch: ignore dereferenced tags in expand_refs_wildcard
  git-clone: Rename --use-immingled-remote option to --no-separate-remote
  gitweb: Fix Atom feed <logo>: it is $logo, not $logo_url
  Make perl/ build procedure ActiveState friendly.
  Pass -M to diff in request-pull
  Set permissions of each new file before "cvs add"ing it.
  git-mv: search more precisely for source directory in index

Conflicts:

	git-clone.sh
2006-12-04 16:33:22 -08:00
Jakub Narebski
8ebe185bbf Document git-diff whitespace flags -b and -w
Document git diff options -b / --ignore-space-change and
-w / --ignore-all-space, introduced by Johannes Schindelin
in commit 0d21efa5, "Teach diff about -b and -w flags".

The description of options is taken from GNU diff man page and
GNU Diffutils info documentation.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-04 16:30:54 -08:00
Jakub Narebski
b360cca0b1 git-clone: Rename --use-immingled-remote option to --no-separate-remote
With making --use-separate-remote default when creating non-bare
clone, there was need for the flag which would turn off this behavior.
It was called --use-immingled-remote.

Immingle means to blend, to combine into one, to intermingle, but it
is a bit obscure word. I think it would be better to use simply
--no-separate-remote as the opposite to --use-separate-remote
option to git clone.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-04 13:49:08 -08:00
Junio C Hamano
4493e36240 Merge branch 'jc/3way' into next
* jc/3way:
  git-merge: preserve and merge local changes when doing fast forward
  git-svn: avoid fetching files twice in the same revision
  git-merge: fix confusion between tag and branch
  De-emphasise the symbolic link documentation.
  git-diff: Introduce --index and deprecate --cached.
  ls-files: Give hints when errors happen.
  pack-objects: remove redundent status information
  gitk: Fix enabling/disabling of menu items on Mac OS X
2006-12-02 17:28:52 -08:00
Andy Parkins
22b1c7ee01 De-emphasise the symbolic link documentation.
The fact that git has previously used symbolic links for representing
symbolic refs doesn't seem relevant to the current function of
git-symbolic-ref.  This patch makes less of a big deal about the
symbolic link history and instead focuses on what git does now.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-01 21:57:47 -08:00
Andreas Ericsson
4c81c213a4 git-diff: Introduce --index and deprecate --cached.
'git diff --cached' still works, but its use is discouraged
in the documentation. 'git diff --index' does the same thing
and is consistent with how 'git apply --index' works.

Signed-off-by: Andreas Ericsson <ae@op5.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-01 21:57:04 -08:00
Junio C Hamano
c41921bd04 Merge branch 'master' into next
* branch 'master':
  Document git-repo-config --bool/--int options.
  tutorial: talk about user.name early and don't start with commit -a
  git-blame: fix rev parameter handling.
2006-11-29 12:21:59 -08:00
Junio C Hamano
aed4509251 Merge branch 'maint'
* branch 'maint':
  Document git-repo-config --bool/--int options.
  tutorial: talk about user.name early and don't start with commit -a
  git-blame: fix rev parameter handling.
2006-11-29 12:16:55 -08:00
Andy Parkins
eb07fd59ac Document git-repo-config --bool/--int options.
Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-29 10:34:20 -08:00
Junio C Hamano
6658923070 tutorial: talk about user.name early and don't start with commit -a
Introducing yourself to git early would be a good idea; otherwise
the user may not find the mistake until much later when "git log"
is learned.

Teaching "commit -a" without saying that it is a shortcut for
listing the paths to commit leaves the user puzzled.  Teach the
form with explicit paths first.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-29 10:34:18 -08:00
Junio C Hamano
ede546b791 Merge branch 'master' into next
* master:
  git blame -C: fix output format tweaks when crossing file boundary.
  git-svn: fix multi-init
  git-svn: documentation updates
  git-svn: color support for the log command
  ident.c: Trim hint printed when gecos is empty.
  Fix broken bash completion of local refs.
  Teach bash how to complete long options for git-commit.
  git-svn: fix output reporting from the delta fetcher
  git-svn: error out when the SVN connection fails during a fetch
  shortlog: remove range check
2006-11-28 23:08:35 -08:00
Eric Wong
4511c899e6 git-svn: documentation updates
Eliminate 'commit' from some places and plug 'dcommit' more.
Also update the section --id (GIT_SVN_ID) usage since we
have multi-init/multi-fetch now.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-28 20:59:41 -08:00
Junio C Hamano
ad0c31801b Merge branch 'ap/clone-origin' of .git/ into next
* 'ap/clone-origin' of .git/:
  Use .git/config for storing "origin" shortcut repository
  sha1_object_info(): be consistent with read_sha1_file()
  shortlog: use pager
  cvsimport: style fixup.
  git-svn: use ~/.subversion config files when using SVN:: libraries
  Teach bash about git-am/git-apply and their whitespace options.
  Cache the list of merge strategies and available commands during load.
  Support --strategy=x completion in addition to --strategy x.
  Teach bash about git-repo-config.
  Support bash completion of refs/remote.
  Teach bash about git log/show/whatchanged options.
  Teach bash how to complete git-rebase.
  Teach bash how to complete git-cherry-pick.
  Teach bash how to complete git-format-patch.
  Add current branch in PS1 support to git-completion.bash.
  Teach bash how to complete options for git-name-rev.
  Hide plumbing/transport commands from bash completion.
  Teach git-completion.bash how to complete git-merge.
  Update documentation to remove incorrect GIT_DIFF_OPTS example.
2006-11-27 17:14:31 -08:00
Sean
fde97d8ac6 Update documentation to remove incorrect GIT_DIFF_OPTS example.
Git no longer calls an external diff program to generate patches.
Remove the documentation which suggests that you can pass
arbitrary diff options via the GIT_DIFF_OPTS environment variable.

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-27 12:08:36 -08:00
Junio C Hamano
3c23bea8ac Merge branch 'js/shortlog'
* js/shortlog:
  git-shortlog: make common repository prefix configurable with .mailmap
  git-shortlog: fix common repository prefix abbreviation.
  builtin git-shortlog is broken
  shortlog: fix "-n"
  shortlog: handle email addresses case-insensitively
  shortlog: read mailmap from ./.mailmap again
  shortlog: do not crash on parsing "[PATCH"
  Build in shortlog
2006-11-26 22:51:38 -08:00
Junio C Hamano
88ffc1f28a Merge branch 'jc/merge'
* branch 'jc/merge':
  git-merge: do not leak rev-parse output used for checking internally.
  git-merge: tighten error checking.
  merge: allow merging into a yet-to-be-born branch.
  git-merge: make it usable as the first class UI
  remove merge-recursive-old
2006-11-26 22:19:56 -08:00
Junio C Hamano
e3fb41407c Merge branch 'master' into next
* master:
  Documentation: clarify tutorial pull/merge discussion
  gitweb: Make project description in projects list link to summary view
  git-svn: allow SVN:: lib users to track the root of the repository (again)
2006-11-25 22:54:54 -08:00
J. Bruce Fields
93ee7823c0 Documentation: clarify tutorial pull/merge discussion
Attempt to clarify somewhat the difference between pull and merge,
and give a little more details on the pull syntax.

I'm still not happy with this section: the explanation of the origin
branch isn't great, but maybe that should be left alone pending the
use-separate-remotes change; and we need to explain how to set up a
public repository and push to it.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-25 22:46:35 -08:00
Junio C Hamano
09fcbbbced Merge branch 'jc/commit-careful' into next
* jc/commit-careful:
  git-commit: show --summary after successful commit.
  git-svn: exit with status 1 for test failures
  git-svn: correctly access repos when only given partial read permissions
  git-branch -D: make it work even when on a yet-to-be-born branch
  Add -v and --abbrev options to git-branch
  git-clone: stop dumb protocol from copying refs outside heads/ and tags/.
2006-11-25 00:20:45 -08:00
Junio C Hamano
61f5cb7f0d git-commit: show --summary after successful commit.
Sometimes people accidentally commit files in wrong mode bits.
Show --summary output for the HEAD commit after successful commit
as a final sanity check.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-25 00:20:01 -08:00
Lars Hjemli
75e6e21320 Add -v and --abbrev options to git-branch
The new -v option makes git-branch show the abbreviated sha1 + subjectline
for each branch.

Additionally, minimum abbreviation length can be specified with
--abbrev=<length>

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-24 20:52:54 -08:00
Junio C Hamano
c7757948dc Merge branch 'pb/diffroot'
* pb/diffroot:
  config option log.showroot to show the diff of root commits
2006-11-24 03:49:57 -08:00
Junio C Hamano
5b6be4ccb5 Merge branch 'ap/branch-ref-display'
* ap/branch-ref-display:
  Add support to git-branch to show local and remote branches
2006-11-24 03:43:46 -08:00
Junio C Hamano
3945e9ffb1 Merge branch 'pb/diffroot' into next
* pb/diffroot:
  config option log.showroot to show the diff of root commits
  git-svn: handle authentication without relying on cached tokens on disk
  git-cvsimport: add support for CVS pserver method HTTP/1.x proxying
  Make git-clone --use-separate-remote the default
  refs outside refs/{heads,tags} match less strongly.
  Increase length of function name buffer
  git-svn: preserve uncommitted changes after dcommit
  git-svn: correctly handle revision 0 in SVN repositories
  git-svn: error out from dcommit on a parent-less commit
  archive-zip: don't use sizeof(struct ...)
2006-11-24 02:35:36 -08:00
Peter Baumann
0f03ca9461 config option log.showroot to show the diff of root commits
This allows one to see a root commit as a diff in commands like git-log,
git-show and git-whatchanged.

Signed-off-by: Peter Baumann <Peter.B.Baumannn@stud.informatik.uni-erlangen.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-24 02:35:26 -08:00
Petr Baudis
7182135189 Make git-clone --use-separate-remote the default
We've talked about this for quite some time on the list, and it
is a sane thing to do for a repository with an associcated
working tree.

For somebody who wants to use the traditional layout, there is a
backward compatibility option --use-immingled-remote, but it is
expected to be removed before the next major release.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-23 22:53:06 -08:00
Junio C Hamano
77614e267d Merge branch 'master' into next
* master:
  GIT 1.4.4.1
  trust-executable-bit: fix breakage for symlinks
  Move --pretty options into Documentation/pretty-formats.txt
2006-11-22 17:01:03 -08:00
Chris Riddoch
5d1faf8791 Move --pretty options into Documentation/pretty-formats.txt
Asciidoc-include it into the manuals for programs that use the
--pretty command-line option, for consistency among the docs.

This describes all the pretty-formats currently listed in the cmit_fmt
enum in commit.h, and also briefly describes the presence and format
of the 'Merge: ' line in some pretty formats.

There's a hedge that limiting your view of history can affect what
goes in the Merge: line, and that --abbrev/--no-abbrev do nothing to
the 'raw' format.

Signed-off-by: Chris Riddoch <chris@syntacticsugar.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-22 16:06:32 -08:00
Junio C Hamano
26d6836c6a Merge branch 'ap/branch-ref-display' into next
* ap/branch-ref-display:
  Add support to git-branch to show local and remote branches
2006-11-21 21:26:20 -08:00
Andy Parkins
bfcc921430 Add support to git-branch to show local and remote branches
Instead of storing a list of refnames in append_ref, a list of
structures is created.  Each of these stores the refname and a
symbolic constant representing its type.

The creation of the list is filtered based on a command line
switch; no switch means "local branches only", "-r" means "remote
branches only" (as they always did); but now "-a" means "local
branches or remote branches".

As a side effect, the list is now not global, but allocated in
print_ref_list() where it used.

Also a memory leak is plugged, the memory allocated during the
list creation was never freed.

It lays a groundwork to also display tags, but the command being
'git branch' it is not currently used.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-21 21:26:12 -08:00
Junio C Hamano
24183d7450 Merge early part of branch 'jc/merge' into next
* commit 'jc/merge~1':
  git-merge: make it usable as the first class UI
  remove merge-recursive-old
  Doc: Make comment about merging in tutorial.txt more clear
  archive: use setvbuf() instead of setlinebuf()
2006-11-21 21:25:11 -08:00
Junio C Hamano
17bcdad3b7 git-merge: make it usable as the first class UI
This teaches the oft-requested syntax

	git merge $commit

to implement merging the named commit to the current branch.
This hopefully would make "git merge" usable as the first class
UI instead of being a mere backend for "git pull".

Most notably, $commit above can be any committish, so you can
say for example:

	git merge js/shortlog~2

to merge early part of a topic branch without merging the rest
of it.

A custom merge message can be given with the new --message=<msg>
parameter.  The message is prepended in front of the usual
"Merge ..." message autogenerated with fmt-merge-message.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-21 20:55:40 -08:00
Paolo Ciarrocchi
5942706357 Doc: Make comment about merging in tutorial.txt more clear
Rephrased a sentence in order to make more clear the concept of
pull . branch

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-21 19:01:29 -08:00
Junio C Hamano
c4249f7d81 Merge branch 'jn/web' into next
* jn/web:
  gitweb: Finish restoring "blob" links in git_difftree_body
  gitweb: Refactor feed generation, make output prettier, add Atom feed
  gitweb: Add an option to href() to return full URL
  gitweb: New improved formatting of chunk header in diff
  gitweb: Default to $hash_base or HEAD for $hash in "commit" and "commitdiff"
  gitweb: Buffer diff header to deal with split patches + git_patchset_body refactoring
  gitweb: Protect against possible warning in git_commitdiff
  Teach SubmittingPatches about git-commit -s
2006-11-21 14:36:24 -08:00
Paolo Ciarrocchi
69945602f9 Teach SubmittingPatches about git-commit -s
As discussed on git mailing list let's teach the reader about
the possiblity to have automatically signed off the commit running
the git-commit -s command

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-21 11:40:18 -08:00
Johannes Schindelin
b8ec59234b Build in shortlog
[jc: with minimum squelching of compiler warning under "-pedantic"
 compilation options.]

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-19 22:59:05 -08:00
Petr Baudis
198a4f4ff0 Documentation: Correct alternates documentation, document http-alternates
For one, the documentation invalidly claimed that the paths have to be
absolute when that's not the case and in fact there is a very valid reason
not to use absolute paths (documented the reason as well).

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-18 16:29:46 -08:00
Petr Baudis
e3d457fb59 Documentation: Define symref and update HEAD description
HEAD was still described as a symlink instead of a symref.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-18 14:04:51 -08:00
Rene Scharfe
fd931411c0 Document git-runstatus
I copied most of the text from git-status.txt.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-18 14:04:45 -08:00
Petr Baudis
f847c07b9a git-apply: Documentation typo fix
inacurate -> inaccurate, sorry if it was a pun. ;-)

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-18 11:09:55 -08:00
Junio C Hamano
2a54323ce5 Merge branch 'maint'
* maint:
  Rework cvsexportcommit to handle binary files for all cases.
  Catch errors when writing an index that contains invalid objects.
  test-lib.sh: A command dying due to a signal is an unexpected failure.
  git-update-index(1): fix use of quoting in section title
2006-11-13 14:30:39 -08:00