summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2006-12-09rerere: record (or avoid misrecording) resolved, skipped or aborted rebase/amLibravatar Eric Wong2-0/+16
Data in rr-cache isn't valid after a patch application is skipped or and aborted, so our next commit could be misrecorded as a resolution of that skipped/failed commit, which is wrong. git-am --skip, git-rebase --skip/--abort will automatically invoke git-rerere clear to avoid this. Also, since git-am --resolved indicates a resolution was succesful, remember to run git-rerere to record the resolution (and not surprise the user when the next commit is made). Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-09git-rerere: add 'gc' command.Libravatar Junio C Hamano2-24/+57
Over time, unresolved rr-cache entries are accumulated and they tend to get less and less likely to be useful as the tips of branches advance. Reorder documentation page to show the subcommand section earlier than the discussion section. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-09rerere: add clear, diff, and status commandsLibravatar Eric Wong2-2/+57
git-am and git-rebase will be updated to use 'clear', and diff/status can be used to aid the user in tracking progress in the resolution process. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-08Documentation: simpler shared repository creationLibravatar J. Bruce Fields1-13/+14
Take Johannes Schindelin's suggestions for a further simplification of the shared repository creation using git --bare init-db --shared, and for a simplified cvsimport using an existing CVS working directory. Also insert more man page references. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> cvs-migration.txt | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-08shortlog: fix segfault on empty authornameLibravatar Jeff King1-2/+2
The old code looked backwards from the email address to parse the name, allowing an arbitrary number of spaces between the two. However, in the case of no name, we looked back too far to the 'author' (or 'Author:') header. Instead, remove at most one space between name and address. The bug was triggered by commit febf7ea4bed from linux-2.6. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-08Add branch.*.merge warning and documentation updateLibravatar Josef Weidendorfer2-2/+20
This patch clarifies the meaning of the branch.*.merge option. Previously, if branch.*.merge was specified but did not match any ref, the message "No changes." was not really helpful regarding the misconfiguration. This patch adds a warning for this. Signed-off-by: Josef Weidendorfer <Josef.Weidendorfer@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-08Fix perl/ build.Libravatar Junio C Hamano2-1/+2
An earlier commit f848718a broke the build in perl/ directory by allowing the Makefile.PL to overwrite the now-tracked Makefile. Fix this by forcing Makefile.PL to produce its output in perl.mak as the broken commit originally intended. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-08git-svn: use do_switch for --follow-parent if the SVN library supports itLibravatar Eric Wong1-7/+39
do_switch works with the SVN Perl bindings after r22312 in the Subversion trunk. Since no released version of SVN currently supports it; we'll just autodetect it and enable its usage when a user has a recent-enough version of SVN. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-08Fix documentation copy&paste typoLibravatar Uwe Zeisberger1-1/+1
This was introduced in 45a3b12cfd3eaa05bbb0954790d5be5b8240a7b5 Signed-off-by: Uwe Kleine-K,AC6(Bnig <zeisberg@informatik.uni-freiburg.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-08git-svn: extra error check to ensure we open a file correctlyLibravatar Eric Wong1-0/+3
This may be an issue with repositories imported with commit 27a1a8014b842c0d70fdc91c68dd361ca2dfb34c or later, but before commit dad73c0bb9f33323ec1aacf560a6263f1d85f81a. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-07Documentation: update git-clone man page with new behaviorLibravatar J. Bruce Fields1-13/+12
Update git-clone man page to reflect recent changes (--use-separate-remote default and use of .git/config instead of remotes files), and rewrite introduction. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-06Merge branch 'maint'Libravatar Junio C Hamano1-0/+1
* maint: cvsserver: Avoid miscounting bytes in Perl v5.8.x
2006-12-06cvsserver: Avoid miscounting bytes in Perl v5.8.xLibravatar Martin Langhoff1-0/+1
At some point between v5.6 and 5.8 Perl started to assume its input, output and filehandles are UTF-8. This breaks the counting of bytes for the CVS protocol, resulting in the client expecting less data than we actually send, and storing truncated files. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-06change the unpack limit treshold to a saner valueLibravatar Nicolas Pitre1-1/+1
Currently the treshold is 5000. The likelihood of this value to ever be crossed for a single push is really small making it not really useful. The optimal treshold for a pure space saving on a filesystem with 4kb blocks is 3. However this is likely to create many small packs concentrating a large number of files in a single directory compared to the same objects which are spread over 256 directories when loose. This means we would need 512 objects per pack on average to approximagte the same directory cost (a pack has 2 files because of the index). But 512 is a really high value just like 5000 since most pushes are unlikely to have that many objects. So let's try with a value of 100 which should have a good balance between small pushes going to be exploded into loose objects and large pushes kept as whole packs. This is not a replacement for periodic repacks of course. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-06Documentation: reorganize cvs-migration.txtLibravatar J. Bruce Fields1-245/+104
Modify cvs-migration.txt so it explains first how to develop against a shared repository, then how to set up a shared repository, then how to import a repository from cvs. Though this seems chronologically backwards, it's still readable in this order, and it puts the more commonly needed material closer to the front. Remove the annotate/pickaxe section; perhaps it can find a place elsewhere in the future. Remove most of the "why git is better than cvs" stuff from the introduction. Add some minor clarifications, including two that have come up several times on the mailing list: 1. Recommend committing any changes before running pull. 2. Note that changes must be commited before they can be pushed. Update the clone discussion to reflect the new --use-separate-remotes default, and add a brief mention of git-cvsserver. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-06git-merge: fix "fix confusion between tag and branch" for realLibravatar Junio C Hamano1-2/+3
An earlier commit 3683dc5a broke the merge message generation with a careless use of && where it was not needed, breaking the merge message for cases where non branches are given. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-06git-svn: avoid network timeouts for long-running fetchesLibravatar Eric Wong1-0/+1
Long-running fetches run inside children to avoid memory leaks. When we refork, the connection in the parent can be idle for a long time; attempting to reuse it in the next child can result in timeouts. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-06gitweb: Allow PNG, GIF, JPEG images to be displayed in "blob" viewLibravatar Jakub Narebski1-8/+22
Allow images in one of web formats (PNG, GIF, JPEG) - actually files with mimetype of image/png, image/git, image/jpeg - to be displayed in "blob" view using <img /> element, instead of using "blob_plain" view for them, like for all other files except also text/* mimetype files. This makes possible to easily go to file history, to HEAD version of the file, to appropriate commit etc; all of those are not available in "blob_plain" (raw) view. Only text files can have "blame" view link in the formats part of navbar. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-06git-merge: squelch needless error message.Libravatar Junio C Hamano1-1/+1
While deciding if the new style command line argument is a tag or a branch, we checked it with "git show-ref -s --verify" to see if results in an error, but when it is not a branch, the check leaked the error message out, which was not needed to be shown to the end user. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-06Merge Libravatar Junio C Hamano1-5/+5
2006-12-06Merge branch 'maint'Libravatar Junio C Hamano2-4/+7
* maint: git-reset to remove "$GIT_DIR/MERGE_MSG" unpack-trees: make sure "df_conflict_entry.name" is NUL terminated.
2006-12-06git-reset to remove "$GIT_DIR/MERGE_MSG"Libravatar Junio C Hamano1-1/+2
An earlier commit a9cb3c6e changed git-commit to use the contents of MERGE_MSG even when we do not have MERGE_HEAD (the rationale is in its log message). However, the change tricks the following sequence to include a merge message in a completely unrelated commit: $ git pull somewhere : oops, the conflicts are too much. forget it. $ git reset --hard : work work work $ git commit To fix this confusion, this patch makes "git reset" to remove the leftover MERGE_MSG that was prepared when the user abandoned the merge. Signed-off-by: Junio C Hamano <junkio@cox.net> Acked-by: Luben Tuikov <ltuikov@yahoo.com
2006-12-06cvs-migration: improved section titles, better push/commit explanationLibravatar J. Bruce Fields1-7/+12
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-06cvs-migration document: make the need for "push" more obviousLibravatar Johannes Schindelin1-0/+5
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-04Document git-diff whitespace flags -b and -wLibravatar Jakub Narebski1-0/+16
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-04diff -b: ignore whitespace at end of lineLibravatar Johannes Schindelin2-5/+4
This is _not_ the same as "treat eol as whitespace", since that would mean that multiple empty lines would be treated as equal to e.g. a space. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-04Merge branch 'maint'Libravatar Junio C Hamano3-5/+22
* maint: receive-pack: do not insist on fast-forward outside refs/heads/ git-mv: search more precisely for source directory in index Conflicts: receive-pack.c
2006-12-04unpack-trees: make sure "df_conflict_entry.name" is NUL terminated.Libravatar Junio C Hamano1-3/+5
The structure that ends with a flexible array member (or 0 length array with older GCC) "char name[FLEX_ARRAY]" is allocated on the stack and we use it after clearing its entire size with memset. That does not guarantee that "name" is properly NUL terminated as we intended on platforms with more forgiving structure alignment requirements. Reported breakage on m68k by Roman Zippel. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-04receive-pack: do not insist on fast-forward outside refs/heads/Libravatar Junio C Hamano1-1/+2
Especially refs/tags/ hierarchy should match what git-fetch checks. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-04git-fetch: ignore dereferenced tags in expand_refs_wildcardLibravatar Michael Loeffler1-1/+1
There was a little bug in the brace expansion which should remove the ^{} from the tagname. It used ${name#'^{}'} instead of $(name%'^{}'}, the difference is that '#' will remove the given pattern only from the beginning of a string and '%' only from the end of a string. Signed-off-by: Michael Loeffler <zvpunry@zvpunry.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-04git-clone: Rename --use-immingled-remote option to --no-separate-remoteLibravatar Jakub Narebski2-5/+5
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-04gitweb: Fix Atom feed <logo>: it is $logo, not $logo_urlLibravatar Jakub Narebski1-1/+1
Fix contents of Atom feed <logo> element; it should be URL of $logo, not URL pointed by logo link. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-04Make perl/ build procedure ActiveState friendly.Libravatar Alex Riesen3-7/+57
On Cygwin + ActivateState Perl, Makefile generated with MakeMaker is not usable because of line-endings and back-slashes. This teaches perl/Makefile to write a handcrafted equivalent perl.mak file with 'make NO_PERL_MAKEMAKER=NoThanks'. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-04Pass -M to diff in request-pullLibravatar David Miller1-1/+1
Linus recommended this, otherwise any renames cause the diffstat output to be ridiculous in some circumstances. Because the corresponding "git-pull" done when the requestee actually makes pull shows the stat with rename detection enabled, it makes sense to match what the request message includes to that output, to make the result easier to verify. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-04Set permissions of each new file before "cvs add"ing it.Libravatar Jim Meyering2-0/+29
Otherwise, an executable script in git would end up being checked into the CVS repository without the execute bit. [jc: with an additional test script from Robin Rosenberg.] Signed-off-by: Jim Meyering <jim@meyering.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-04git-mv: search more precisely for source directory in indexLibravatar Johannes Schindelin2-4/+20
A move of a directory should find the entries in the index by searching for the name _including_ the slash. Otherwise, the directory can be shadowed by a file when it matches the prefix and is lexicographically smaller, e.g. "ab.c" shadows "ab/". Noticed by Sergey Vlasov. [jc: added Sergey's original reproduction recipe as a test case at the end of t7001.] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-02Merge branch 'maint'Libravatar Junio C Hamano1-5/+5
* maint: git-svn: avoid fetching files twice in the same revision
2006-12-02git-svn: avoid fetching files twice in the same revisionLibravatar Eric Wong1-5/+5
SVN is not entirely consistent in returning log information and sometimes returns file information when adding subdirectories, and sometimes it does not (only returning information about the directory that was added). This caused git-svn to occasionally add a file to the list of files to be fetched twice. Now we change the data structure to be hash to avoid repeated fetches. As of now (in master), this only affects repositories fetched without deltas enabled (file://, and when manually overriden with GIT_SVN_DELTA_FETCH=0); so this bug mainly affects users of 1.4.4.1 and maint. Thanks to Florian Weimer for reporting this bug. [jc: backported for maint] Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-02git-merge: fix confusion between tag and branchLibravatar Junio C Hamano1-5/+5
In a repository with core.warnambiguousrefs turned off, and with a branch and a tag that have the same name 'frotz', git merge frotz would merge the commit pointed at by the tag 'frotz' but incorrectly would identify what was merged as 'branch frotz' in the merge message. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-01De-emphasise the symbolic link documentation.Libravatar Andy Parkins1-18/+11
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-01git-diff: Introduce --index and deprecate --cached.Libravatar Andreas Ericsson2-3/+5
'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-01ls-files: Give hints when errors happen.Libravatar Andreas Ericsson1-1/+5
Without this patch "git commit file.c file2.c" produces the not so stellar output: error: pathspec 'file.c' did not match any. error: pathspec 'file2.c' did not match any. With this patch, the output is changed to: error: pathspec 'file.c' did not match any file(s) known to git. error: pathspec 'file2.c' did not match any file(s) known to git. Did you forget to 'git add'? Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-29pack-objects: remove redundent status informationLibravatar Nicolas Pitre1-2/+4
The final 'nr_result' and 'written' values must always be the same otherwise we're in deep trouble. So let's remove a redundent report. And for paranoia sake let's make sure those two variables are actually equal after all objects are written (one never knows). Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-29Merge master.kernel.org:/pub/scm/gitk/gitkLibravatar Junio C Hamano1-10/+10
* master.kernel.org:/pub/scm/gitk/gitk: gitk: Fix enabling/disabling of menu items on Mac OS X
2006-11-29Merge branch 'maint'Libravatar Junio C Hamano3-5/+31
* 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-29Document git-repo-config --bool/--int options.Libravatar Andy Parkins1-0/+6
Signed-off-by: Andy Parkins <andyparkins@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-29tutorial: talk about user.name early and don't start with commit -aLibravatar Junio C Hamano1-5/+24
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-29git-blame: fix rev parameter handling.Libravatar Alex Riesen1-0/+1
We lacked "--" termination in the underlying init_revisions() call which made it impossible to specify a revision that happens to have the same name as an existing file. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-28Merge branch 'jc/globfetch'Libravatar Junio C Hamano3-20/+85
* jc/globfetch: fetch-pack: do not barf when duplicate re patterns are given git-fetch: allow forcing glob pattern in refspec git-fetch: allow glob pattern in refspec git-fetch: fix dumb protocol transport to fetch from pack-pruned ref git-fetch: reuse ls-remote result.
2006-11-28Merge branch 'maint'Libravatar Junio C Hamano1-5/+5
* maint: git blame -C: fix output format tweaks when crossing file boundary.