summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2005-08-17Make sure alternates are carried over from the original repository.Libravatar Junio C Hamano1-1/+5
When we create a cheap local clone by pointing at the object databse of the original repository, we forgot to take the alternates the original repository might have had into account. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17Fix git-commit without paths.Libravatar Junio C Hamano1-2/+4
The earlier one to grab output from diff-files --name-only has a grave bug that when no paths are given it ended up doing the equivalent of "git-commit --all", which was not what I intended. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17[PATCH] Make git-update-cache take relative pathnamesLibravatar Linus Torvalds1-0/+2
This also makes "./filename" acceptable as a side effect, since the pathname normalization handles that too. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17[PATCH] Export relative path handling "prefix_path()" functionLibravatar Linus Torvalds2-1/+2
Not all programs necessarily have a pathspec array of pathnames, some of them (like git-update-cache) want to do things one file at a time. So export the single-path interface too. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17[PATCH] git-cvsimport - remove hardcoded reference to originLibravatar Martin Langhoff1-1/+1
... in the newly introduced merge detection code. Signed-off-by: Martin Langhoff <martin.langhoff@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17[PATCH] Add merge detection to git-cvsimportLibravatar Martin Langhoff2-5/+55
Added -m and -M flags for git-cvsimport to detect merge commits in cvs. While this trusts the commit message, in repositories where merge commits indicate 'merged from FOOBRANCH' the import works surprisingly well. Even if some merges from CVS are bogus or incomplete, the resulting branches are in better state to go forward (and merge) than without any merge detection. Signed-off-by: Martin Langhoff <martin.langhoff@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17[PATCH] Add GIT glossaryLibravatar Johannes Schindelin1-0/+198
[jc: This is the version without asciidoc cross references; Johannes says that the cross referenced one is generated from this file using a Perl script, so I am placing this as the source, and expecting to later receive the script and a Makefile entry or two to massage this file into the final HTML or whatever form.] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17[PATCH] Let git-format-patch-script write on stdoutLibravatar Marco Costalba1-1/+1
Avoid that git-format-patch writes out patch series information on stderr when there are no errors Signed-off-by: Marco Costalba <mcostalba@yahoo.it> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17[PATCH] Be consistent in naming of remote headsLibravatar Kris Shannon1-1/+1
The _remote_name variable used for messages does not need the refs/heads/ prefix included. Signed-off-by: Kris Shannon <kris.shannon@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17[PATCH] use it's and its correctly in documentationLibravatar Greg Louis2-6/+6
At one place in Documentation/tutorial.txt and several in the base README, its was wrongly used in place of it's or vice versa. One instance remains somewhere in Documentation/howto/, which I didn't correct because it's in a quotation. Signed-off-by: Greg Louis <glouis@dynamicro.ca> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17[PATCH] Also handle CVS branches with a '/' in their nameLibravatar Johannes Schindelin2-4/+10
I track a CVS project which has a branch with a '/' in the branch name. Since git wants the branch name to be a file name at the same time, substitute that character to a '-' by default (override with "-s <subst>"). This should work well, despite the fact that a division and a difference are completely different :-) Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17[PATCH] When copying or renaming, keep the mode, pleaseLibravatar Johannes Schindelin2-2/+43
Without this patch, git-apply does not retain the mode when renaming or copying files. [jc: Good catch, Johannes. I added a test case to demonstrate the breackage in the original.] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17[PATCH] Change git-branch to list branchesLibravatar Kalle Valo1-5/+20
If no argument provided to `git branch`, show available branches and mark current branch with star. This is based on patch written by Amos Waterland <apw@rossby.metr.ou.edu>. [jc: and I changed it to handle subdirectories under refs/heads/ as well.] Signed-off-by: Kalle Valo <Kalle.Valo@iki.fi> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17git-commit: pass explicit path to git-diff-files.Libravatar Junio C Hamano1-3/+8
When running "git commit" with explicit path arguments, allow it to take directory name. This makes "git commit Documentation/" to commit everything that is changed under Documentation/ directory. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17Pass options to underlying git-rev-list from show-branches.Libravatar Junio C Hamano1-8/+16
This lets you say "git show-branches --max-count=30". Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17Add --symbolic flag to git-rev-parse.Libravatar Junio C Hamano1-12/+18
This is most useful with --all, --revs-only, --no-flags and --verify. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16Teach applymbox to keep the Subject: line.Libravatar Junio C Hamano3-4/+27
This corresponds to the -k flag to git format-patch --mbox option. The option should probably not be used when applying a real e-mail patch, but is needed when format-patch and applymbox pair is used for cherrypicking. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16Use LF and allow comments in objects/info/alternates file.Libravatar Junio C Hamano1-11/+15
Yes, using the same format for the file and the environment variable was a big mistake. This uses LF as the path separator, and allows lines that begin with '#' to be comments. ':' is no longer a separator in objects/info/alternates file. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16git-format-patch fixes.Libravatar Junio C Hamano1-11/+20
Introduces --keep-subjects flag to tell it not to munge the first line of the commit message. Running "git applymbox" on the output from "git format-patch -m -k" would preserve the original commit information better this way. At the same time, prefix Subject: on the first line of the commit, to help people cut&copy. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16[PATCH] Improve handling of "." and ".." in git-diff-*Libravatar Linus Torvalds3-42/+55
This fixes up usage of ".." (without an ending slash) and "." (with or without the ending slash) in the git diff family. It also fixes pathspec matching for the case of an empty pathspec, since a "." in the top-level directory (or enough ".." under subdirectories) will result in an empty pathspec. We used to not match it against anything, but it should in fact match everything. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16[PATCH] Fix test failure due to overly strict .git directory testsLibravatar Linus Torvalds1-3/+2
We may not actually have a valid HEAD at all times, so relax the validity tests for a .git subdirectory accordingly. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16[PATCH] Make "git diff" work inside relative subdirectoriesLibravatar Linus Torvalds8-19/+147
We always show the diff as an absolute path, but pathnames to diff are taken relative to the current working directory (and if no pathnames are given, the default ends up being all of the current working directory). Note that "../xyz" also works, so you can do cd linux/drivers/char git diff ../block and it will generate a diff of the linux/drivers/block changes. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16[PATCH] Add a bit more links to the commands to the main git(7) page.Libravatar Junio C Hamano1-0/+24
There are many programs like git-add not described at all, and the organization of the list of commands may be suboptimal, but we have to start somewhere. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16[PATCH] Reformat git-show-branches-script documentation.Libravatar Junio C Hamano1-9/+11
... using ListingBlock of asciidoc. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16[PATCH] Make do_each_ref() follow symlinks.Libravatar Matt Draisey1-1/+1
Because there is no reason not to, and this makes things a bit safer when running "git prune". [jc: I do not necessarily agree with the reasoning of the original author that it is a good way to keep "git prune" from stomping on objects to have a symlink that points at .git/refs of the repository A in the .git/refs of the repository B when repository A borrows object database from repository B. For one thing, the object database that everybody borrows objects from may not even have its own .git/refs hierarchy. Come to think of it, maybe we should disallow symlink inside .git/refs hierarchy; we update the files there by creat/rename pair, so having symlinks would not work anyway when you do anything that would update them.] Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16[PATCH] Add -k kill keyword expansion option to git-cvsimport - revisedLibravatar Martin Langhoff2-6/+13
Early versions of git-cvsimport defaulted to using preexisting keyword expansion settings. This change preserves compatibility with existing cvs imports and allows new repository migrations to kill keyword expansion. After exploration of the different -k modes in the cvs protocol, we use -kk which kills keyword expansion wherever possible. Against the protocol spec, -ko and -kb will sometimes expand keywords. Should improve our chances of detecting merges and reduce imported repository size. Signed-off: Martin Langhoff <martin.langhoff@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16[PATCH] Fix local pull that uses packs.Libravatar Junio C Hamano1-5/+7
The patch mixed up the sha1 for the object being pulled, and the sha1 the pull engine internally use to represent the name of the pack that contains the object being pulled. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16[PATCH] Support packs in local-pullLibravatar Daniel Barkalow1-21/+91
If it doesn't find an object, it looks for an index that contains it and uses the same methods on that instead. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16[PATCH] Add function to read an index file from an arbitrary filename.Libravatar Daniel Barkalow2-2/+10
Note that the pack file has to be in the usual location if it gets installed later. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16[PATCH] Fixed two bugs in git-cvsimport-script.Libravatar iso-8859-1?Q?David_K=E5gedal2-3/+10
The git-cvsimport-script had a copule of small bugs that prevented me from importing a big CVS repository. The first was that it didn't handle removed files with a multi-digit primary revision number. The second was that it was asking the CVS server for "F" messages, although they were not handled. I also updated the documentation for that script to correspond to actual flags. Signed-off-by: David K?5gedal <davidk@lysator.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16[PATCH] cvsgit fixes: spaces in filenames and CVS server dialog woesLibravatar Matthias Urlichs1-11/+23
Problems found while importing dasher's CVS: * Allow spaces in filenames. * cvsps may create unnamed branches with revisions that don't really exist, which causes the CVS server to return something we haven't hitherto expected. * Report deleted files when being verbose. * Also, report the commit date. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16Make tools use DESTDIR as well (otherwise rpm build is broken).Libravatar Chris Wright1-1/+1
Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-15[PATCH] Make git-format-patch's signoff option more consistentLibravatar Johannes Schindelin1-5/+8
Since git-commit-script has a "--signoff" option, use that in git-format-patch-script, too (and since partial option names are supported,"--sign" is still valid). Also, if the message already contains the S-O-B line, silently ignore the "--signoff" request. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-15Tentative fix to git-commit-scriptLibravatar Junio C Hamano1-5/+11
The recent change to give the multiple commit message source was not carrying over the authorship information from -C/-c commits correctly. The export of the environment variable happens only in the subprocess, not the main process that eventually runs git-commit-tree. The right fix might be to teach git-commit-script to grok the From: and Date: lines at the beginning of the commit message just like git-applymbox knows how, but this has to do until that enhancement happens. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-15[PATCH] Add documentation for git repack and git-prune-packed.Libravatar Junio C Hamano4-0/+97
[jc: the patch forgot to update the main git.txt documentation, making all these new documentation practically no-op, so I added a minimum attempt linking them from there.] Signed-off-by: Ryan Anderson <ryan@michonline.com>
2005-08-15[PATCH] clean up git scriptLibravatar Junio C Hamano1-15/+18
Makes git work with a pure POSIX shell (tested with bash --posix and ash). Right now git causes ash to choke on the redundant shift on line two. Reduces the number of system calls git makes just to do a usage statement from 22610 to 1122, and the runtime for same from 349ms to 29ms on my x86 Linux box. Presents a standard usage statement, and pretty prints the available commands in a form that does not scroll off small terminals. [jc: while shifting when $# was zero was a bug, the original patch failed to shift when it needs to, which I fixed up.] Signed-off-by: Amos Waterland <apw@rossby.metr.ou.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-15Audit rev-parse users.Libravatar Junio C Hamano3-4/+4
Make sure that we say --verify when we want to get a single SHA1 name. Also when we say --verify, --revs-only is redundant. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-15Keep excellent tutorial for using topic branches by Tony LuckLibravatar Junio C Hamano1-0/+153
I would eventually like to move this to become a part of the tutorial, but anyway, this was an excellent post that describes how topic branches can be used to keep track of local changes.
2005-08-15[PATCH] Run Ispell through git.txtLibravatar Yasushi SHOJI1-6/+6
Signed-off-by: Yasushi SHOJI <yashi@atmark-techno.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-15Show which branch you are on in git-status output.Libravatar Junio C Hamano1-1/+9
When not on the "master" branch, show which branch we are working on in the git-status message. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-15Add git-show-branches-scriptLibravatar Junio C Hamano4-0/+125
Often I find myself wanting to do quick branches check when I am not in the windowing environment and cannot run gitk. This stupid script shows commits leading to the heads of interesting branches with indication which ones belong to which branches, so that fork point is somewhat discernible without using gitk. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-15[PATCH] Add some simple howtos, culled from the mailing list.Libravatar Ryan Anderson3-0/+288
I think these are useful, and I think putting them in a new "howto" directory might help some users until we get to the point of splitting up the tutorial to be easier to read. Given the authorship, I think it's safe to put these in the repository. Signed-off-by: Ryan Anderson <ryan@michonline.com>
2005-08-15[PATCH] Fixed/Extended example for update hookLibravatar Josef Weidendorfer1-3/+9
Add sample code to distinguish --force rebased head and simple fast-forward. At the same time fixes a real bug; the "new ref" path was using a wrong parameter. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-15Add cheap local clone '-s' flag to git-clone-scriptLibravatar Junio C Hamano1-15/+26
Using the $GIT_OBJECT_DIRECTORY/info/alternates mechanism, create a new repository that borrows objects from the original repository when --shared flag is given in addition to --local. It is worth pointing out that the "cloned" repository depends on the original repository, so this should be used only when you can reasonably trust that the original repository would not disappear without your knowing. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-15Alternate object pool mechanism updates.Libravatar Junio C Hamano3-71/+88
It was a mistake to use GIT_ALTERNATE_OBJECT_DIRECTORIES environment variable to specify what alternate object pools to look for missing objects when working with an object database. It is not a property of the process running the git commands, but a property of the object database that is partial and needs other object pools to complete the set of objects it lacks. This patch allows you to have $GIT_OBJECT_DIRECTORY/info/alternates whose contents is in exactly the same format as the environment variable, to let an object database name alternate object pools it depends on. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-14Documentation updates.Libravatar Junio C Hamano13-17/+231
Linus brought up that documentation for many commands have incorrect attribution. I started counting lines again, but ended up adding a handful of missing manual pages. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-13[PATCH] plug memory leak in diff.c::diff_free_filepair()Libravatar Yasushi SHOJI3-8/+7
When I run git-diff-tree on big change, it seems the command eats so much memory. so I just put git under valgrind to see what's going on. diff_free_filespec_data() doesn't free diff_filespec itself. [jc: I ended up doing things slightly differently from Yasushi's patch. The original idea was to use free_filespec_data() only to free the data portion and keep useing the filespec itself, but no existing code seems to do things that way, so I just yanked that part out.] Signed-off-by: Yasushi SHOJI <yashi@atmark-techno.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-13[PATCH] fix null TZ problems on os/xLibravatar Brad Roberts2-3/+3
It seems that the localtime() libc routine doesn't care for finding a TZ that's empty. It's ok with TZ not being set. Setting the TZ to GMT allowed these tests to pass. $ uname -v Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Signed-off-by: Brad Roberts <braddr@puremagic.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-13[PATCH] fix git-checkout-cache segfault on pariscLibravatar James Bottomley1-1/+2
The index cleanup code is executed via atexit() which is *after* main has completed, so the stack allocated cache_file has gone out of scope. Parisc seems to use stack in the destructor functions, so cache_file gets partially overwritten leading to the predictable disastrous consequences. [jc: Just to make sure, I audited other users of the function hold_index_file_for_update() to make sure they do not have this problem; everybody else uses non-stack cache_file structure and is fine. Thanks, James.] Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-13[PATCH] Make get_sha1_basic() more carefulLibravatar Linus Torvalds1-1/+1
The "get_sha1_hex()" function is designed to work with SHA1 hex strings that may be followed by arbitrary crud. However, that's not acceptable for "get_sha1()" which is used for command line arguments etc: we don't want to silently allow random characters after the end of the SHA1. So verify that the hex string is all we have. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>