Commit Graph

1650 Commits

Author SHA1 Message Date
Sergey Vlasov
ce726ec8d8 [PATCH] NUL terminate the object data in patch_delta()
At least pretty_print_commit() expects to get NUL-terminated commit data to
work properly.  unpack_sha1_rest(), which reads objects from separate files,
and unpack_non_delta_entry(), which reads non-delta-compressed objects from
pack files, already add the NUL byte after the object data, but patch_delta()
did not do it, which caused problems with, e.g., git-rev-list --pretty when
there are delta-compressed commit objects.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-04 10:28:43 -07:00
Peter Hagervall
2ab141a26f [PATCH] Possible cleanups for local-pull.c
Hi. This patch contains the following possible cleanups:

 * Make some needlessly global functions in local-pull.c static
 * Change 'char *' to 'const char *' where appropriate

Signed-off-by: Peter Hagervall <hager@cs.umu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-04 10:28:38 -07:00
Paolo 'Blaisorblade' Giarrusso
baeda3a749 [PATCH] Doc: replace read-cache with git-read-tree.
Replace references to "read-cache" with references to git-read-tree in the
documentation. I chose that because reference say "see read-cache about
stages", and stages are explained in git-read-tree.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-04 10:18:45 -07:00
Junio C Hamano
6d35cc7690 Document hooks.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-02 22:38:30 -07:00
Junio C Hamano
953e5842f8 Mention post-update when we first talk about publishing a repository.
There is more detailed instruction for `project lead` later in
the tutorial to talk about the same, but at this point in the
flow of tutorial, the first time reader has no way of knowing it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-02 11:46:43 -07:00
Junio C Hamano
86b13da46c scripts: equality test '==' is not portable.
On NetBSD 3 we trigger an error:

    [: ==: unexpected operator

Double-equal is accepted by bash built-in '[' and bash(1) suggests
using '=' for strict POSIX compliance (test(1) from coreutils does not
mention '==').  Eradicate their uses everywhere.

[jc: Somebody with a pseudonym kindly sent a message to let
 me know about the problem privately; I do not have access to a NetBSD
 box.]

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-02 10:53:15 -07:00
Junio C Hamano
79882c2883 git-checkout-script: Remove unnecessary variable.
There was unused variable $i that counted the number of arguments
being processed.  Remove it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-02 10:39:57 -07:00
Junio C Hamano
06ec2b4bb4 Fix automerge message.
The rewrite done while adding the shorthand support made the remote
refname recorded in the commit message too long for human consumption,
while losing information by using the shorthand not the real URL to
name the remote repository there.  They were both bad changes done
without enough thinking.

Pointed out by Linus.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-02 02:34:13 -07:00
Amos Waterland
89bc8c785e [PATCH] Explain what went wrong on update-cache of new file
If somebody tries to run `git update-cache foo', where foo is a new
file, git dies with a rather cryptic error message:

 fatal: Unable to add foo to database

This trivial patch makes git explain what probably went wrong.  It is
not a perfect diagnosis of all error paths, but for 90% of the cases it
should provide the user with the clue they need.

[jc: I ended up wording slightly differently, and fixed another
 confusing error message I noticed while reviewing the code.]

Signed-off-by: Amos Waterland <apw@rossby.metr.ou.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-01 21:45:00 -07:00
Junio C Hamano
a1d4aa7424 Add repository-layout document.
... and link to it from both the main index and the tutorial.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-01 16:56:13 -07:00
Junio C Hamano
2d56993347 Use 'git status' now it can handle initial commit.
Update 'git commit' to use the updated `git status`.  Also earlier
the `-s` flag was ignored for the initial commit.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-31 17:15:25 -07:00
Junio C Hamano
7e011c40bc Fix git-status when HEAD is invalid.
It tried to do git-diff-cache against HEAD, of course.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-31 17:13:48 -07:00
Junio C Hamano
6e7722e6f8 Fix git-log-script when HEAD is invalid.
It used 'die' without including git-sh-setup-script; since everything
it uses are subdirectory-aware, instead of including the script to
force it to be run from the top, use echo & exit.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-31 17:11:39 -07:00
Junio C Hamano
1eb446fa9f Add Pine 4.63 help from Daniel.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-31 11:48:41 -07:00
Junio C Hamano
914328ac02 Update tutorial.
Finally I bit the bullet and did a full sweep of this document.
The changes are mostly clarifications, adjusting old terminology
to the glossary compatible one, and asciidoc formatting.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-30 23:08:06 -07:00
Junio C Hamano
076b2324cd show-branch: make it work in a subdirectory.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-30 19:19:02 -07:00
Martin Langhoff
d3968363b4 [PATCH] Initial import of git-archimport-script
Imports a project history from one or more Arch repositories, following
the branching and tagging across repositories. Note you should import
separate projects to separate GIT repositories.

Supported
 - Imports, tags and simple commits.
 - File renames
 - Arch tags
 - Binary files
 - Large trees
 - Multiple repositories
 - Branches

TODO:
 - Allow re-running the import on an already-imported project
 - Follow merges using Arch data
 - Audit shell escaping of filenames
 - Better support for file metadata
 - Better/safer creation of temp directories

Unsupported:
 - Arch 'configuration'

[jc: my arch/tla is very rusty and after Tom announced he is stepping
 down as the maintainer I have very little motivation to relearn it,
 so I would appreciate if people discuss any bugs or enhancements
 directly with Martin.  Of course I can help with the git end of the
 issues.]

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-30 15:30:30 -07:00
Junio C Hamano
5da22bc14b cat-file: make it work in a subdirectory.
Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from 73244994ee4abd6e436e8a1d597dd917271d77a9 commit)
2005-08-30 13:56:21 -07:00
Junio C Hamano
8db9307c9c Documentaion updates.
Mostly making the formatted html prettier.

Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from 7adf1f15ebe074d4767df941817a6cf86d8e2533 commit)
2005-08-30 13:55:34 -07:00
Junio C Hamano
cc9f24d024 'git bisect visualize'
Linus says:

    I'm testing bisection to find a bug that causes my G5 to no longer boot,
    and during the process have found this command line very nice:

	    gitk bisect/bad --not $(cd .git/refs ; ls bisect/good-*)

    it basically shows the state of bisection with the known bad commit as the
    top, and cutting off all the good commits - so what you see are the
    potential buggy commits.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-30 12:45:41 -07:00
Linus Torvalds
670f5fe34f [PATCH] Fix bisection terminating condition
When testing bisection and using gitk to visualize the result, it was
obvious that the termination condition was broken.

We know what the bad entry is only when the bisection ends up telling us
to test the known-bad entry again.

Also, add a safety net: if somebody marks as good something that includes
the known-bad point, we now notice and complain, instead of writing an
empty revision to the new bisection branch.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-30 11:57:28 -07:00
Junio C Hamano
61f01a5b77 parse-remote: trivial fix to allow refs/{heads,tags}/ spelled easier.
Earlier we always prefixed refs/heads to the token given to "git fetch"
(and "git pull") as refspec.  This was a mistake.  Allow them to be
spelled like "master:refs/tags/paulus" to mean "I want to fetch the
master there and store it as my local "paulus" tag.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-30 01:08:24 -07:00
Junio C Hamano
51017101c7 Merge refs/heads/master from paulus 2005-08-30 00:44:44 -07:00
Junio C Hamano
789d577412 Make sure howto/*.html is built as well.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 23:09:22 -07:00
Linus Torvalds
cdcb0ed411 [PATCH] Make "git resolve" less scary
When we resolve a merge between two branches, and it removes a file in the
current branch, we notify the person doing the resolve with a big nice
notice like

	Removing xyzzy

which is all well and good.

HOWEVER, we also do this when the file was actually removed in the current
branch, and we're merging with another branch that didn't have it removed
(or, indeed, if the other branch _did_ have it removed, but the common
parent was far enough back that the file still existed in there).

And that just doesn't make sense. In that case we're not removing
anything: the file didn't exist in the branch we're merging into in the
first place. So the message just makes people nervous, and makes no sense.

This has been around forever, but I never bothered to do anything about
it.

Until now.

The trivial fix is to only talk about removing files if the file existed
in the branch we're merging into, but will not exist in the result.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 22:55:42 -07:00
Junio C Hamano
8d0991d7d7 Allow asciidoc formatted documentation in howto/
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 22:38:12 -07:00
Junio C Hamano
3459c2c433 Add [HOWTO] revert/branch/rebase.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 21:50:49 -07:00
Junio C Hamano
bc4af68a1a git commit: Allow editing on all occasions.
Sometimes it may be handy to be able to edit messages that come
from somewhere other than an existing commit.

This makes 'git commit -F <file> -e' to start editor with the initial
log message contents taken from <file>.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 21:25:19 -07:00
Junio C Hamano
9fa4db544e Do not verify reverted/cherry-picked/rebased patches.
The original committer may have used validation criteria that is less
stricter than yours.  You do not want to lose the changes even if they
are done in substandard way from your 'commit -v' verifier's point of
view.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 21:19:04 -07:00
Junio C Hamano
5de36bfec9 Fix compilation warnings.
... found by compiling them with gcc 2.95.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 21:17:21 -07:00
A Large Angry SCM
cf6de18aab [PATCH] Update Thunderbird specific hints.
Setting the wraplength to zero keeps the bird from trimming WS.

Signed-off-by:  <gitzilla@gmail.com>
(cherry picked from 1d535d525d6a0ddddc3755065d721278bc5f0aff commit)
2005-08-29 21:10:10 -07:00
A Large Angry SCM
b5dca4bbd9 [PATCH] Documentation for git-request-pull-script.
Copy & paste source comments into documentation.

Signed-off-by:  <gitzilla@gmail.com>
(cherry picked from 10dce95490cb02f66b3a08984ccdee0a92b48236 commit)
2005-08-29 21:10:09 -07:00
A Large Angry SCM
1efdd27f54 [PATCH] Documentation for git-clone-dumb-http.
Copy & paste source comments into documentation.

Signed-off-by:  <gitzilla@gmail.com>
(cherry picked from f79528e5d05a64d68b8e09a18521950775e99ec1 commit)
2005-08-29 21:10:09 -07:00
A Large Angry SCM
62cd033daa [PATCH] Documentation for git-daemon.
Copy & paste source comments into documentation.

Signed-off-by:  <gitzilla@gmail.com>
(cherry picked from 5d0a4efeff62cfa363437f91308453b5b9fd8cf5 commit)
2005-08-29 21:10:08 -07:00
Paul Mackerras
9843c3074d Draw selected graph line thicker and make arrowheads active. 2005-08-30 10:57:11 +10:00
Junio C Hamano
f85a419161 Accumulated documentation updates.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 17:21:06 -07:00
Junio C Hamano
d5acdcf18e git-repack-script: Add option to repack all objects.
This originally came from Frank Sorenson, but with a bit of rework to
allow future enhancements without changing the external interface for
pack pruning part.

With the '-a' option, all objects in the current repository are packed
into a single pack.  When the '-d' option is given at the same time,
existing packs that were made redundant by this round of repacking are
deleted.

Since we currently have only two repacking strategies, one with '-a'
(everything into one) and the other without '-a' (incrementally pack
only the unpacked ones), the '-d' option is meaningful only when used
with '-a'; it removes the packs existed before we did the "everything
into one" repacking.  At least for now.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Acked-by: Frank Sorenson <frank@tuxrocks.com>
(cherry picked from bfed505327e31221d8de796b3af880bad696b149 commit)
2005-08-29 17:20:07 -07:00
Junio C Hamano
8e5dd22b29 Updates: show-branch
Earlier show-branch gave names only to commits reachable via first
parent ancestry chain.  Change the naming code to name everybody.

The original idea was to stop at the first merge point in the
topological order, and --more=<n> to show commits until we show <n>
more extra merge points.  However depending on the order of how we
discover the commits, it additionally showed parents of the <n>th
merge points, which was unnecessary.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 17:19:47 -07:00
Junio C Hamano
d4a9ce78f6 mailinfo and applymbox updates
This attempts to minimally cope with a subset of MIME "features" often
seen in patches sent to our mailing lists.  Namely:

 - People's name spelled in characters outside ASCII (both on From:
   header and the signed-off-by line).

 - Content-transfer-encoding using quoted-printable (both in
   multipart and non-multipart messages).

These MIME features are detected and decoded by "git mailinfo".

Optionally, with the '-u' flag, the output to .info and .msg is
transliterated from its original chaset to utf-8.  This is to
encourage people to use utf8 in their commit messages for
interoperability.

Applymbox accepts additional flag '-u' which is passed to mailinfo.

Signed-off-by: Junio C Hamano / 濱野 純 <junkio@cox.net>
2005-08-29 12:52:05 -07:00
Junio C Hamano
de2b82c65d Document "git cherry-pick" and "git revert"
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 12:52:03 -07:00
Junio C Hamano
e47e35acdd Remove git-apply-patch-script.
Now the rebase is rewritten to use git cherry-pick, there is no user
for that ancient script.  I've checked Cogito and StGIT to make sure
they do not use it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 12:52:03 -07:00
Junio C Hamano
48313592bf Redo "revert" using three-way merge machinery.
The reverse patch application using "git apply" sometimes is too
rigid.  Since the user would get used to resolving conflicting merges
by hand during the normal merge experience, using the same machinery
would be more helpful rather than just giving up.

Cherry-picking and reverting are essentially the same operation.
You pick one commit, and apply the difference that commit introduces
to its own commit ancestry chain to the current tree.  Revert applies
the diff in reverse while cherry-pick applies it forward.  They share
the same logic, just different messages and merge direction.

Rewrite "git rebase" using "git cherry-pick".

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 12:52:02 -07:00
Junio C Hamano
2c04662d89 Revert "Replace zero-length array decls with []."
This reverts 6c5f9baa3b commit, whose
change breaks gcc-2.95.

Not that I ignore portability to compilers that are properly C99, but
keeping compilation with GCC working is more important, at least for
now.  We would probably end up declaring with "name[1]" and teach the
allocator to subtract one if we really aimed for portability, but that
is left for later rounds.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-29 12:41:03 -07:00
Junio C Hamano
10d781b9ca Merge refs/heads/portable from http://www.cs.berkeley.edu/~ejr/gits/git.git 2005-08-28 23:02:01 -07:00
Amos Waterland
928f74de22 [PATCH] tutorial note about git branch
Explain that an asterisk will be displayed in front of the current
branch when you run `git branch' to see which are available.

Signed-off-by: Amos Waterland <apw@rossby.metr.ou.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-28 21:34:28 -07:00
Junio C Hamano
9847f7e0db Update SubmittingPatches.
- It does not matter how I read git list.  What matters is that
  I do not necessarily read everything on it.

- Talk a bit about how to use applymbox to check one's own
  patches.

- Talk a bit about PGP signed patches.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-28 17:54:18 -07:00
A Large Angry SCM
a698bafb55 [PATCH] Add footnote about Thunderbird about trimming trailing WS.
Add footnote about Thunderbird about trimming trailing WS.

Signed-off-by:  <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-28 14:32:39 -07:00
A Large Angry SCM
f58b7432d2 [PATCH] Add some documentation.
Add some documentation.

Text taken from the the commit messages and the command sources.

Signed-off-by:  <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-28 14:32:30 -07:00
Robert Fitzsimons
debb9d8444 [PATCH] New git-apply test cases for scanning forwards and backwards.
Added a new test case for the scanning forwards and backwards for the
correct location to apply a patch fragment.

Signed-off-by: Robert Fitzsimons <robfitz@273k.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-28 14:24:06 -07:00
Robert Fitzsimons
ff3412ee1f [PATCH] New git-apply test cases for patches with mulitple fragments.
Added a test case for patches with multiple fragments.

Signed-off-by: Robert Fitzsimons <robfitz@273k.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-28 14:24:05 -07:00