summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-01-17git-format-patch: do not crash with format.headers without value.Libravatar Junio C Hamano1-1/+5
An incorrect config file can say: [format] headers and crash the parsing. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Introduce 'git-format-patch --suffix=.patch'Libravatar Junio C Hamano2-4/+32
The default can also be changed with "format.suffix" configuration. Leaving it empty would not add any suffix. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Documentation/glossary.txt: describe remotes/ tracking and packed-refsLibravatar Junio C Hamano1-0/+9
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Documentation/glossary.txt: unpacked objects are loose.Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Documentation: describe shallow repositoryLibravatar Junio C Hamano2-0/+20
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Make a short-and-sweet "git-add -i" synonym for "git-add --interactive"Libravatar Junio C Hamano2-4/+5
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Documentation: detached HEADLibravatar Junio C Hamano2-2/+58
Add discussion section to git-checkout documentation and mention detached HEAD in repository-layout document. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Documentation: a few spelling fixesLibravatar René Scharfe12-15/+15
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Documentation/git-sh-setup.txt: programmer's docsLibravatar Junio C Hamano1-8/+45
Clarify that this is not meant for end users, and list what shell functions are defined. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Documentation/git-whatchanged.txt: show -<n> instead of --max-count.Libravatar Junio C Hamano1-1/+1
... to match the change we did earlier to git-log documentation. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Documentation/git-status.txt: mention color configurationLibravatar Junio C Hamano1-0/+9
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Documentation/git-tar-tree.txt: default umask is now 002Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Documentation/git-tools.txt: mention tig and refer to wikiLibravatar Junio C Hamano1-2/+12
In general list at Wiki seems to be maintained a lot better than this list. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Documentation/git-tag: the command can be used to also verify a tag.Libravatar Junio C Hamano2-2/+2
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-17Documentation/SubmittingPatches: Gnus tipsLibravatar Junio C Hamano1-1/+19
Also warn about format=flowed (aka 'flawed'). Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-16git-commit: document log message formatting conventionLibravatar Junio C Hamano1-0/+6
Take it from the tutorial, since not everybody necessarily reads it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-16cache.h; fix a couple of prototypesLibravatar Chris Wedgwood1-2/+2
Trivial patch. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-16Document where configuration files are in config.txtLibravatar Junio C Hamano1-1/+6
Talking about what the files contain without talking about where they are does not help new users. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-16Use merge-recursive in git-checkout -m (branch switching)Libravatar Junio C Hamano2-10/+36
This allows "git checkout -m <other-branch>" to notice renames and carry local changes in the working tree forward. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-16git-commit documentation: remove comment on unfixed git-rmLibravatar Junio C Hamano1-5/+0
... which was fixed since then. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-16tutorial: shorthand for remotes but show distributed nature of gitLibravatar Junio C Hamano1-19/+24
* Promiscous pull shows the distributed nature of git better. * Add a new step after that to teach "remote add". * Highlight that with the shorthand defined you will get remote tracking branches for free. * Fix Alice's workflow. Signed-off-by: Santi Béjar <sbejar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-16tutorial: Use only separate layoutLibravatar Santi Béjar1-13/+13
Then the newbies only have to understand one layout. Signed-off-by: Santi Béjar <sbejar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-16Fix spurious compile errorLibravatar Johannes Schindelin1-0/+4
From time to time, I would get this error: [...] sed: -e expression #8, char 41: Unterminated `s' command make: *** [git-add--interactive] Error 1 Turns out that the function WriteMakefile() called in Makefile.PL outputs the message "Writing perl.mak for Git" to stdout! Thus, the output of "make -C perl -s --no-print-directory instlibdir" would be prefixed by that message whenever Makefile.PL was newer than perl.mak. This is fixed by redirecting stdout to stderr in Makefile.PL. Signed-off-by: Johannes E. Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-16git-rm documentation: remove broken behaviour from the example.Libravatar Junio C Hamano2-9/+5
The example section were talking about the old broken default behaviour. Correct it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-16git-push documentation: remaining bitsLibravatar Junio C Hamano1-1/+13
Mention --thin, --no-thin, --repo and -v. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-16document --exec for git-pushLibravatar Uwe Kleine-K,Av(Bnig1-1/+7
The text is just copied from git-send-pack.txt. Signed-off-by: Uwe Kleine-K,Av(Bnig <zeisberg@informatik.uni-freiburg.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-15git-svn: print and flush authentication prompts to STDERRLibravatar Eric Wong1-15/+22
People that redirect STDOUT output should always see STDERR prompts interactively. STDERR should always be flushed without buffering, so they should always show up. If that is unset, we still explicitly flush by calling STDERR->flush. The svn command-line client prompts to STDERR, too. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-15Solaris 5.8 returns ENOTDIR for inappropriate renames.Libravatar Jason Riedy1-1/+6
The reflog code clears empty directories when rename returns either EISDIR or ENOTDIR. Seems to be the only place. Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-15Replace "echo -n" with printf in shell scripts.Libravatar Jason Riedy6-7/+7
Not all echos know -n. This was causing a test failure in t5401-update-hooks.sh, but not t3800-mktag.sh for some reason. Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-15Set _ALL_SOURCE for AIX, but avoid its struct list.Libravatar Jason Riedy1-2/+5
AIX 5.3 seems to need _ALL_SOURCE for struct addrinfo, but that introduces a struct list in grp.h. Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-15Start all test scripts with /bin/sh.Libravatar Jason Riedy3-1/+3
My bash refused to run the two scripts missing a #!, and it's better to use the same line for all the scripts. Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-15git-pull: disallow implicit merging to detached HEADLibravatar Jeff King2-2/+15
Instead, we complain to the user and suggest that they explicitly specify the remote and branch. We depend on the exit status of git-symbolic-ref, so let's go ahead and document that. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-15Fix git-fetch while on detached HEAD not to give needlessly alarming errorsLibravatar Junio C Hamano3-8/+40
When we are on a detached HEAD, there is no current branch. There is no reason to leak the error messages to the end user since this is a situation we expect to see. This adds -q option to git-symbolic-ref to exit without issuing an error message if the given name is not a symbolic ref. By the way, with or without this patch, there currently is no good way to tell failure modes between "git symbolic-ref HAED" and "git symbolic-ref HEAD". Both says "is not a symbolic ref". We may want to do something about it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-15git reflog expire: document --stale-fix option.Libravatar Junio C Hamano2-2/+2
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Merge git://git.kernel.org/pub/scm/gitk/gitkLibravatar Junio C Hamano1-1/+2
* git://git.kernel.org/pub/scm/gitk/gitk: [PATCH] Make gitk work when launched in a subdirectory [PATCH] gitk: add current directory to main window title
2007-01-14Use nice names in conflict markers during cherry-pick/revert.Libravatar Shawn O. Pearce1-0/+6
Always call the current HEAD 'HEAD', and name the patch being cherry-picked or reverted by its oneline subject rather than its SHA1. This matches git am's behavior and is done because users most commonly are cherry-picking by SHA1 rather than by ref name. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Use merge-recursive in git-revert/git-cherry-pickLibravatar Junio C Hamano2-17/+74
This makes revert and cherry-pick to use merge-recursive, to allow them to notice renames. A pair of test scripts demonstrate that an old change before a rename happened can be applied (reverted) after a rename with cherry-pick (with revert). Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Documentation: merge-output is not too verbose now.Libravatar Junio C Hamano2-11/+2
We've squelched output from merge-recursive, and git-merge when used with recursive does not attempt the trivial one first anymore, so there won't be "Trying ... Nope." messages now. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Remove hash in git-describe in favor of util slot.Libravatar Shawn O. Pearce1-64/+12
Currently we don't use the util field of struct commit but we want fast access to the highest priority name that references any given commit object during our matching loop. A really simple approach is to just store the name directly in the util field. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Correct priority of lightweight tags in git-describe.Libravatar Shawn O. Pearce1-12/+25
We really want to always favor an annotated tag over a lightweight tag when describing a commit. Unfortunately git-describe wasn't doing this as it was favoring the depth attribute of a possible_tag over the priority. Now priority is the highest sort and we only consider a lightweight tag if no annotated tags were identified. Rather than searching for the minimum tag using a simple loop we now sort them using a stable sort algorithm, this way the possible tags display in order if --debug gets used. The stable sort helps to preseve the inherit topology/date order that we obtain during our search loop. This fix allows the tests in t6120-describe.sh to pass. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Add describe test.Libravatar Junio C Hamano1-0/+97
... with help from Shawn. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Improve git-describe performance by reducing revision listing.Libravatar Shawn O. Pearce2-49/+106
My prior version of git-describe ran very slowly on even reasonably sized projects like git.git and linux.git as it tended to identify a large number of possible tags and then needed to generate the revision list for each of those tags to sort them and select the best tag to describe the input commit. All we really need is the number of commits in the input revision which are not in the tag. We can generate these counts during the revision walking and tag matching loop by assigning a color to each tag and coloring the commits as we walk them. This limits us to identifying no more than 26 possible tags, as there is limited space available within the flags field of struct commit. The limitation of 26 possible tags is hopefully not going to be a problem in real usage, as most projects won't create 26 maintenance releases and merge them back into a development trunk after the development trunk was tagged with a release candidate tag. If that does occur git-describe will start to revert to its old behavior of using the newer maintenance release tag to describe the development trunk, rather than the development trunk's own tag. The suggested workaround would be to retag the development trunk's tip. However since even 26 possible tags can take a while to generate a description for on some projects I'm defaulting the limit to 10 but offering the user --candidates to increase the number of possible matches if they need a more accurate result. I specifically chose 10 for the default as it seems unlikely projects will have more than 10 maintenance releases merged into a development trunk before retagging the development trunk, and it seems to perform about the same on linux.git as v1.4.4.4 git-describe. A large amount of debugging information was also added during the development of this change, so I've left it in to be toggled on with --debug. It may be useful to the end user to help them understand why git-describe took one particular tag over another. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Use binary searching on large buckets in git-describe.Libravatar Shawn O. Pearce1-8/+21
If a project has a really huge number of tags (such as several thousand tags) then we are likely to have nearly a hundred tags in some buckets. Scanning those buckets as linked lists could take a large amount of time if done repeatedly during history traversal. Since we are searching for a unique commit SHA1 we can sort all tags by commit SHA1 and perform a binary search within the bucket. Once we identify a particular tag as matching this commit we walk backwards within the bucket matches to make sure we pick up the highest priority tag for that commit, as the binary search may have landed us in the middle of a set of tags which point at the same commit. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Hash tags by commit SHA1 in git-describe.Libravatar Shawn O. Pearce1-12/+17
If a project has a very large number of tags then git-describe will spend a good part of its time looping over the tags testing them one at a time to determine if it matches a given commit. For 10 tags this is not a big deal, but for hundreds of tags the time could become considerable if we don't find an exact match for the input commit and we need to walk back along the history chain. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Always perfer annotated tags in git-describe.Libravatar Shawn O. Pearce1-11/+13
Several people have suggested that its always better to describe a commit using an annotated tag, and to only use a lightweight tag if absolutely no annotated tag matches the input commit. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14some doc updatesLibravatar Nicolas Pitre5-49/+29
1) talk about "git merge" instead of "git pull ." 2) suggest "git repo-config" instead of directly editing config files 3) echo "URL: blah" > .git/remotes/foo is obsolete and should be "git repo-config remote.foo.url blah" 4) support for partial URL prefix has been removed (see commit ea560e6d64374ec1f6c163c276319a3da21a1345) so drop mention of it. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14git log documentation: teach -<n> form.Libravatar Junio C Hamano1-1/+1
We say "this shows only the most often used ones"; so instead of teaching --max-number=<n> form, list -<n> form which is much easier to type. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Convert output messages in merge-recursive to past tense.Libravatar Shawn O. Pearce1-18/+18
Now that we are showing the output messages for verbosity levels <5 after all actions have been performed (due to the progress meter running during the actions) it can be confusing to see messages in the present tense when the user is looking at a '100% done' message right above them. Converting the messages to past tense will appear more correct in this case, and shouldn't affect a developer who is debugging the application and running it at a verbosity level >=5. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Display a progress meter during merge-recursive.Libravatar Shawn O. Pearce1-7/+66
Because large merges on slow systems can take up to a minute to execute we should try to keep the user entertained with a progress meter to let them know how far we have progressed through the current merge. The progress meter considers each entry in the in-memory index to be a unit, which means a single recursive merge will double the number of units in the progress meter. Files which are unmerged after the 3-way tree merge are also considered a unit within the progress meter. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Enable output buffering in merge-recursive.Libravatar Shawn O. Pearce1-1/+39
Buffering all message output until a merge invocation is complete is necessary to prevent intereferring with a progress meter that would indicate the number of files completely merged, and how many remain. This change does not introduce a progress meter, but merely lays the groundwork to buffer the output. To aid debugging output buffering is only enabled if verbosity is lower than 5. When using verbosity levels above 5 the user is probably debugging the merge program itself and does not want to see the output delayed, especially if they are stepping through portions of the code in a debugger. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>